Под разновидност на горната статия как правихме снимка и я връщахме, тук ще върнем снимка но на съвсем различен диск от който сме я правили. Ще ползваме Live CD. Live CD трябва да е от същия клан както и операционната система която ползвате. Примерно имате инсталиран Arch Linux, можете да ползвате Live CD от Arch Linux, Manjaro и дистрибуции от този клан. Ако пък ползвате Ubuntu ще ползвате Live CD от Ubunto или Mint. Надявам се, че схванахте логиката. За информация какви дискове имахме до сега.
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 111G 0 disk ├─sda1 8:1 0 512M 0 part /boot ├─sda2 8:2 0 55G 0 part / └─sda3 8:3 0 55.5G 0 part /home sdb 8:16 0 33G 0 disk └─sdb1 8:17 0 33G 0 part sr0 11:0 1 1.4G 0 rom
Имаме два диска и операционната система е инсталиране на /dev/sda с размер 111 GB. Да сменим диска примерно с по-малък размер. Стартираме системата през Live CD на Arch Linux и проверяваме какви имаме.
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 971.9M 1 loop /run/archiso/airootfs sda 8:0 0 33G 0 disk └─sda1 8:1 0 33G 0 part sdb 8:16 0 77G 0 disk sr0 11:0 1 1.4G 0 rom /run/archiso/bootmnt
Обърнете внимание, първо диска е с рамер 77GB и след това му е сменено мястото и е /dev/sdb вече. Да върнем системата на /dev/sdb с размер 77GB. За начало да разделим диска където ще се връща системата. Размерите на дяловете ще са: /boot 512MB / 55GB /home останалото място Няма да показвам как се разделя диска в предните статии съм показал как се прави чрез cfdisk и fdisk. След разделянето на диска да видим какво имаме.
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 971.9M 1 loop /run/archiso/airootfs sda 8:0 0 33G 0 disk └─sda1 8:1 0 33G 0 part sdb 8:16 0 77G 0 disk ├─sdb1 8:17 0 512M 0 part ├─sdb2 8:18 0 55G 0 part └─sdb3 8:19 0 21.5G 0 part sr0 11:0 1 1.4G 0 rom /run/archiso/bootmnt
Да форматираме дяловете за по-нататъшно ползване.
mkfs.vfat /dev/sdb1 mkfs.ext4 /dev/sdb2 mkfs.ext4 /dev/sdb3
Сега да ги монтираме, за да прехвърлим системата.
mount /dev/sdb2 /mnt/ mkdir /mnt/boot /mnt/home mount /dev/sdb1 /mnt/boot/ mount /dev/sdb3 /mnt/home/ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 971.9M 1 loop /run/archiso/airootfs sda 8:0 0 33G 0 disk └─sda1 8:1 0 33G 0 part sdb 8:16 0 77G 0 disk ├─sdb1 8:17 0 512M 0 part /mnt/boot ├─sdb2 8:18 0 55G 0 part /mnt └─sdb3 8:19 0 21.5G 0 part /mnt/home sr0 11:0 1 1.4G 0 rom /run/archiso/bootmnt
Сега да монтираме дяла където е снимката на системата.
mkdir /timeshift mount /dev/sda1 /timeshift lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 971.9M 1 loop /run/archiso/airootfs sda 8:0 0 33G 0 disk └─sda1 8:1 0 33G 0 part /timeshift sdb 8:16 0 77G 0 disk ├─sdb1 8:17 0 512M 0 part /mnt/boot ├─sdb2 8:18 0 55G 0 part /mnt └─sdb3 8:19 0 21.5G 0 part /mnt/home sr0 11:0 1 1.4G 0 rom /run/archiso/bootmnt
Време е да върнем снимката. За целта ще ползваме програмата rsync.
/usr/bin/rsync -avPX /timeshift/timeshift/snapshots/2026-01-23_09-27-15/localhost/* /mnt/
Системата е прехвърлена на новия диск, обаче нямаме инсталиран зареждащ модул. Освен това /etc/fstab е със състояние на стария диск. Първо да оправим таблицата с дискове и дялове.
genfstab -U /mnt > /mnt/etc/fstab nano /mnt/etc/fstab GNU nano 8.7 /mnt/etc/fstab # /dev/sdb2 UUID=ff59bbc8-3471-405b-b25f-7f389bd4db84 / ext4 rw,relatime 0 1 # /dev/sdb1 UUID=D9AA-14C8 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2 # /dev/sdb3 UUID=79826557-b40e-44bb-a330-5cc848a7282c /home ext4 rw,relatime 0 2
Забележете, генерирана е нова таблица на дяловете. За съжаление обаче, частта за swapfile я няма и ще се наложи на по-късен етап да се оправя тази грешка. Първата част от проблема е решен. Имаме правилно дефинирани дялове за системата. Сега да оправим GRUB. Да погледнем конфигурацията му.
nano /mnt/boot/grub/grub.cfg ### Файла е много дълъг, ще натъртим само на част от него ### BEGIN /etc/grub.d/10_linux ### menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7207acb5-d326-4802-b21a-e5be7c4ba90b' { load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod fat set root='hd0,gpt1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 0D1A-21FE else search --no-floppy --fs-uuid --set=root 0D1A-21FE fi echo 'Loading Linux linux-zen ...' linux /vmlinuz-linux-zen root=UUID=7207acb5-d326-4802-b21a-e5be7c4ba90b rw loglevel=3 quiet echo 'Loading initial ramdisk ...' initrd /intel-ucode.img /initramfs-linux-zen.img }
Това не са нашите дялове. Останали са дефинирани от стария диск. За целта ще се наложи наново да се гнерира конфигурация на GRUB. Първо да сменим root дяла към новата система. След това ще инсталираме GRUB и ще го конфигурираме.
arch-chroot /mnt grub-install --efi-directory=/boot Installing for x86_64-efi platform. Installation finished. No error reported. grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-linux-zen Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-zen.img Warning: os-prober will not be executed to detect other bootable partitions. Systems on them will not be added to the GRUB boot configuration. Check GRUB_DISABLE_OS_PROBER documentation entry. Adding boot menu entry for UEFI Firmware Settings ... done
Готови сме, излизаме от arch-chroot, размонтираме се и даваме рестарт.
exit umount -R /mnt reboot
Системата е прехвърлена на новия диск и работи. Отново напомням нямаме swapfile. Ваше решение как ще го създадете (във вид на файл, дял или както решите.)