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

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

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

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

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

[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

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

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

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

[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

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

[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

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

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

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

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

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

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

Проверяем:

[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

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

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

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

[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"

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

[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]
...

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

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

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

[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

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

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

[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

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

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

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

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

useradd setevoy
passwd setevoy

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

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

17:40:20 [setevoy@setevoy-arch-work ~]  $ ssh setevoy@10.11.100.161
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.
setevoy@10.11.100.161'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
...

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

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