Блог программиста
не только о программировании

Дружественные ресурсы:

IntSystem.org | Веб-разработка, все о ней

DevOps-заметки |

10.12.2023

Перенос Fedora c SATA на M.2

Команды в основном описаны в документации, за исключением несостыковки в использовании luks и создании нового раздела.

Рассматривается ситуация, при которой существовал раздел /boot без efi.

  1. Перенести все данные через clonezilla на носитель, у которого есть 512Мб+ свободного места;

  2. Загрузиться с live-дистрибутива Fedora;

  3. Через gparted или что угодно еще посмотреть список разделов (запомнить раздел для /boot);

  4. Создать новый раздел (для этого и требуется дополнительное свободное место) fat32 для будущего /boot/efi;

  5. В случае, если используется luks, выполнить последовательность команд;

    cryptsetup luksOpen /dev/mapper/fedora_localhost--live-root myvolume
    vgchange -ay fedora_localhost-live
    mkdir -p /mnt/root
    mount /dev/mapper/myvolume /mnt/root 
    

    Если luks не используется, вместо /dev/mapper/myvolume указать свое устройство.

  6. Примонтировать остальные разделы;

    mount /dev/nvme0n1p1 /mnt/root/boot/
    mount -o bind /dev /mnt/root/dev
    mount -o bind /proc /mnt/root/proc
    mount -o bind /sys /mnt/root/sys
    mount -o bind /run /mnt/root/run
    mount -o bind /sys/firmware/efi/efivars /mnt/root/sys/firmware/efi/efivars/
    mount /dev/nvme0n1p4 /mnt/root/boot/efi
    
  7. Переходим в примонтированное окружение и переустанавливаем grub;

    chroot /mnt/root
    dnf reinstall shim-* grub2-efi-* grub2-common
    
  8. Обновляем initramfs (актуально при запуске на новом железе).

    dracut --kver kernel-6.4.15-100.fc37.x86_64 --force
    sync && exit
    

После можно перезагружаться и пробовать загрузку с диска.