Меняем загрузочный диск
Исходные данные
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 8G 0 disk
└─sda1 8:1 0 953M 0 part /boot
sdb 8:16 0 8G 0 disk
└─sdb1 8:17 0 3,7G 0 part /
sr0 11:0 1 1024M 0 rom
blkid /dev/sd*
/dev/sda: PTTYPE="dos"
/dev/sda1: UUID="236c1bf4-f7f3-4992-b75b-d81f675ffe5a" TYPE="ext2"
/dev/sdb: PTTYPE="dos"
/dev/sdb1: UUID="3765b7f6-03b6-4911-8906-a0062054ef06" TYPE="ext4"
[root@c7 ~]# uname -r
3.10.0-693.el7.x86_64
cat /boot/grub2/grub.cfg
http://joxi.ru/E2ppX6wiBPQZD2
menuentry 'CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-693.el7.x86_64-advanced-3765b7f6-03b6-4911-8906-a0062054ef06' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 236c1bf4-f7f3-4992-b75b-d81f675ffe5a
else
search --no-floppy --fs-uuid --set=root 236c1bf4-f7f3-4992-b75b-d81f675ffe5a
fi
linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=UUID=3765b7f6-03b6-4911-8906-a0062054ef06 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8
initrd16 /initramfs-3.10.0-693.el7.x86_64.img
}
1.Перенести корневой раздел на /dev/sda2 и загрузиться с /dev/sda\
fdisk /dev/sda #создаем /dev/sda2
partprobe /dev/sda
mkfs.ext4 /dev/sda2
blkid /dev/sda2
/dev/sda2: UUID="70f656a9-0bf7-48d7-93ca-153e48548155" TYPE="ext4"
cat /etc/fstab
#UUID=3765b7f6-03b6-4911-8906-a0062054ef06 / ext4 defaults 1 1
UUID=70f656a9-0bf7-48d7-93ca-153e48548155 / ext4 defaults 1 1
UUID=236c1bf4-f7f3-4992-b75b-d81f675ffe5a /boot ext2 defaults 1 2
sed -i"" "s#3765b7f6-03b6-4911-8906-a0062054ef06#70f656a9-0bf7-48d7-93ca-153e48548155#g" /boot/grub2/grub.cfg
/boot/grub2/grub.conf #добавил отключение selinux так как рут пароль не подходил, без selinux все ок
linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=UUID=70f656a9-0bf7-48d7-93ca-153e48548155 ro crashkernel=auto rhgb quiet selinux=0 LANG=en_US.UTF-8
mount /dev/sda2 /mnt/
cp -dpRxv / /mnt
reboot
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 953M 0 part /boot
└─sda2 8:2 0 7,1G 0 part /
sdb 8:16 0 8G 0 disk
└─sdb1 8:17 0 3,7G 0 part
sr0 11:0 1 1024M 0 rom
После того как загрузились с /dev/sda можно /dev/sdb вытащить из системы
2.1.Перенести все на /dev/sdb и с него загрузиться
Исходные данные те же что и в начале.
[root@c7 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 8G 0 disk
└─sda1 8:1 0 953M 0 part /boot
sdb 8:16 0 8G 0 disk
└─sdb1 8:17 0 3,7G 0 part /
sr0 11:0 1 1024M 0 rom
umount /boot
mount /dev/sda1 /mnt/
rsync -av /mnt/ /boot/
umount /dev/sda1
cat /etc/fstab
UUID=3765b7f6-03b6-4911-8906-a0062054ef06 / ext4 defaults 1 1
#UUID=236c1bf4-f7f3-4992-b75b-d81f675ffe5a /boot ext2 defaults 1 2
/etc/default/grub добавил selinux=0
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet selinux=0"
dracut --mdadmconf --fstab --force /boot/initramfs-$(uname -r).img $(uname -r) -M
grub2-mkconfig -o /boot/grub2/grub.cfg
После этого у нас в /boot/grub2/grub.cfg поменялись UUID и hd0,msdos1 на hd1,msdos1 и добавлось в параметр загрузки ядра selinux=0 Но чтобы выйти из ребута, /dev/sda перезатирать нельзя. Пока хз почему
reboot
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 8G 0 disk
└─sda1 8:1 0 953M 0 part
sdb 8:16 0 8G 0 disk
└─sdb1 8:17 0 3,7G 0 part /