Arch: установка поверх Ubuntu с сохранением home в LVM

Автор: | 09/03/2017

Имеется домашний ноут, на котором установлена Ubuntu 14 + KDE, диск разбит на LVM-разделы.

Задача: установить Arch Linux, оставить /home и восстановить dual-boot с Windows.

Диски и разделы:

[simterm]

[root@archiso ~]# lsblk 
NAME                MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                 7:0    0 365.4M  1 loop /run/archiso/sfs/airootfs
sda                   8:0    1  14.6G  0 disk 
├─sda1                8:1    1   476M  0 part /run/archiso/bootmnt
└─sda2                8:2    1    64M  0 part 
sdb                   8:16   0 596.2G  0 disk 
├─sdb1                8:17   0     2G  0 part 
├─sdb2                8:18   0    16G  0 part 
├─sdb3                8:19   0   500G  0 part 
│ ├─kubuntu_vg-root 254:0    0    30G  0 lvm  
│ └─kubuntu_vg-home 254:1    0   470G  0 lvm  
└─sdb4                8:20   0  78.2G  0 part 
sr0                  11:0    1  1024M  0 rom  

[/simterm]

Тут /dev/sdb – это жесткий диск ноута, sdb3LVM разделы с root и home Ubuntu, а sdb4Windows-раздел.

Установка системы

Форматируем старый root:

[simterm]

[root@archiso ~]# mkfs.ext4 /dev/kubuntu_vg/root
mke2fs 1.43.4 (31-Jan-2017)
/dev/kubuntu_vg/root contains a ext4 file system
        last mounted on / on Wed Mar  8 15:03:14 2017
Proceed anyway? (y,N) y
Creating filesystem with 7864320 4k blocks and 1966080 inodes
Filesystem UUID: 827fdd05-0506-4056-bdf8-a816b5afc47f
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   

[/simterm]

Монтируем его:

[simterm]

[root@archiso ~]# mount /dev/kubuntu_vg/root /mnt/
[root@archiso ~]# ls -l /mnt/
total 16
drwx------ 2 root root 16384 Mar  8 15:19 lost+found

[/simterm]

Устанавливаем систему:

[simterm]

[root@archiso ~]# pacstrap -i /mnt/ base base-devel
==> Creating install root at /mnt/
==> Installing packages to /mnt/
:: Synchronizing package databases...
 core                                              
...

[/simterm]

Монтируем /home:

[simterm]

[root@archiso ~]# mount /dev/kubuntu_vg/home /mnt/home/

[/simterm]

Создаём /etc/fstab:

[simterm]

[root@archiso ~]# genfstab -U -p /mnt >> /mnt/etc/fstab

[/simterm]

Проверяем:

[simterm]

[root@archiso ~]# cat /mnt/etc/fstab  | grep -v \#
UUID=827fdd05-0506-4056-bdf8-a816b5afc47f       /               ext4            rw,relatime,data=ordered        0 1

UUID=ab23e1d0-73a8-4707-bd7b-9c2d5063aaf9       /home           ext4            rw,relatime,data=ordered        0 2

[/simterm]

Меняем рабочее окружение:

[simterm]

[root@archiso ~]# arch-chroot /mnt

[/simterm]

Редактируем /etc/mkinitcpio.conf , и в HOOKS добавляем lvm2 – перед filesystem:

[simterm]

[root@archiso /]# cat /etc/mkinitcpio.conf | grep lvm2
##   No raid, lvm2, or encrypted root is needed.
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS="base udev block lvm2 filesystems"
HOOKS="base udev autodetect modconf block lvm2 filesystems keyboard fsck"

[/simterm]

Создаём init-образ:

[simterm]

[root@archiso /]# mkinitcpio -p linux
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 4.9.11-1-ARCH
  -> Running build hook: [base]
...

[/simterm]

Устанавливаем загрузчик:

[simterm]

[root@archiso /]# pacman -S grub-bios

[/simterm]

Ещё раз проверяем разделы:

[simterm]

[root@archiso /]# lsblk 
NAME                MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                 7:0    0 365.4M  1 loop 
sda                   8:0    1  14.6G  0 disk 
|-sda1                8:1    1   476M  0 part 
`-sda2                8:2    1    64M  0 part 
sdb                   8:16   0 596.2G  0 disk 
|-sdb1                8:17   0     2G  0 part 
|-sdb2                8:18   0    16G  0 part 
|-sdb3                8:19   0   500G  0 part 
| |-kubuntu_vg-root 254:0    0    30G  0 lvm  /
| `-kubuntu_vg-home 254:1    0   470G  0 lvm  /home
`-sdb4                8:20   0  78.2G  0 part 
sr0                  11:0    1  1024M  0 rom  

[/simterm]

sdb – диск ноутбука.

Устанавливаем на него загрузчик:

[simterm]

[root@archiso /]# grub-install /dev/sdb
Installing for i386-pc platform.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
Installation finished. No error reported.
[root@archiso /]# cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
Found linux image: /boot/vmlinuz-linux
Found initrd image(s) in /boot: initramfs-linux.img
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
  WARNING: Failed to connect to lvmetad. Falling back to device scanning.
done

[/simterm]

(WTF? не помню, из-за чего вылазит)

Перезагружаемся:

[simterm]

[root@archiso /]# exit
[root@archiso ~]# reboot
Connection to 10.11.100.159 closed by remote host.
Connection to 10.11.100.159 closed.

[/simterm]

Если загрузились 🙂 – то добавляем пользователя:

[simterm]

# useradd setevoy
# passwd setevoy

[/simterm]

Настраиваем сеть, как описано тут>>> или тут>>>.

Подключаемся, проверем /home:

[simterm]

17:40:20 [setevoy@setevoy-arch-work ~]  $ ssh [email protected]
The authenticity of host '10.11.100.161 (10.11.100.161)' can't be established.
ECDSA key fingerprint is SHA256:AnwzWy7rPNp0ORnOCQwg7m6FfgisVTKpSCTRJ0OS+kc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.11.100.161' (ECDSA) to the list of known hosts.
[email protected]'s password: 
[setevoy@localhost ~]$ su
Password: 
[setevoy@localhost ~]$ ls -l
total 8103700
-rw-rw-r--  1 setevoy setevoy          0 Nov 15 20:44  0
drwx------ 11 setevoy setevoy       4096 Mar  8 11:56  Backups
drwx------  5 setevoy setevoy       4096 Jan 16 14:24  Books
drwxrwxr-x  3 setevoy setevoy       4096 Mar  6  2016  Cert
drwxr-xr-x  2 setevoy setevoy       4096 May 15  2016  Desktop
drwxr-xr-x  4 setevoy setevoy       4096 Oct 24 19:04  Documents
drwxr-xr-x 15 setevoy setevoy      12288 Feb 13 07:26  Downloads
drwx------  5 setevoy setevoy       4096 Mar  6  2016  Drivers
drwx------ 38 setevoy setevoy       4096 Mar  8 10:44  Dropbox
...

[/simterm]

Всё на месте. Теперь можно продолжать>>> установку Xorg и всего прочего.

P.S. Совсем забыл, что /dev/sdb1 – это был /boot, а /dev/sdb2swap. Надо обновить grub и /etc/fstab.