Обновление grub в среде chroot с правами root на зашифрованном объеме luks

Я хочу переместить систему (все системы, которые я использую, основаны на Ubuntu 16.04) от незашифрованного раздела до зашифрованного luks (на том же диске).

С этой целью я создал зашифрованный логический том LUKS, который содержит раздел root и swap. Затем я скопировал содержимое существующего раздела в новый корневой раздел, используя dd. Я проверил, что этот новый корень содержит правильную структуру каталогов и выполнил проверку диска на диске.

План состоял в том, чтобы chroot к новой системе и обновить grub оттуда.

В частности, я пытаюсь сделать следующее (что является комбинацией из справочных страниц Ubuntu и как переустанавливать grub из liveUSB, если / раздел зашифрован, и есть отдельный / загрузочный раздел?):

# Unlock crypto file system sudo cryptsetup luksOpen /dev/sda2 lukslvm sudo vgscan sudo vgchange -ay sudo svscan # Mount root file system sudo mount /dev/mapper/vgubuntu-root /mnt # Mount boot filesystem sudo mount /dev/sda1 /mnt/boot # Mount required internal file systems sudo mount -o rbind /dev /mnt/dev sudo mount -t proc proc /mnt/proc sudo mount -t sysfs sys /mnt/sys ## Additional LVM directories (for older systems) sudo mount -o rbind /run/lvm /mnt/run/lvm sudo mount -o rbind /run/lock/lvm /mnt/run/lock/lvm # Enable DNS resolution sudo cp /etc/resolv.conf /mnt/etc/resolv.conf # Change to the encrypted system sudo chroot /mnt /bin/bash # Install required software sudo apt-get install cryptsetup lvm2 # Edit /etc/crypttab sudo printf "lukslvm\tUUID=%s\tnone\tluks\n" "$(cryptsetup luksUUID /dev/sda2)" | tee -a /etc/crypttab # /etc/modules editieren sudo echo "dm-crypt" >> /etc/modules # Update kernel initramfs sudo update-initramfs -u -k all echo "Edit /etc/default/grub as GRUB_CMDLINE_LINUX_DEFAULT=\"kopt=root=/dev/mapper/vgubuntu-root\"" sudo vi /etc/default/grub sudo update-grub # Leave chroot environment exit # Write buffers to disk sudo sync # Unmount file systems sudo umount /mnt/run/lvm sudo umount /mnt/run/lock/lvm sudo umount /mnt/sys sudo umount /mnt/proc sudo umount /mnt/boot # sudo swapoff -a

К сожалению, это не так, поскольку update-grub, похоже, не находит систему, установленную в зашифрованном разделе. Он находит только существующую установку на другом разделе /dev/sda3.

Что мне не хватает?

1
задан 2 June 2017 в 15:54

2 ответа

Похоже, вы забыли создать правильный файл / etc / mtap

sudo cp /proc/mounts /mnt/etc/mtab

См. https://wiki.sabayon.org/index.php?title=HOWTO:_Restore_Grub2

1
ответ дан 18 July 2018 в 12:18

Похоже, вы забыли создать правильный файл / etc / mtap

sudo cp /proc/mounts /mnt/etc/mtab

См. https://wiki.sabayon.org/index.php?title=HOWTO:_Restore_Grub2

1
ответ дан 24 July 2018 в 19:56
  • 1
    Благодарю. Это, по-видимому, не исправляет это, хотя корень в / dev / mapper определенно находится в файле mtab. – highsciguy 2 June 2017 в 16:46
  • 2
    Если вы загружаетесь в это устройство, вы видите экран запуска grub? Если нет, попробуйте выполнить grub-install / dev / sda – Simon Sudler 2 June 2017 в 16:57
  • 3
    Да. Установка grub отлично работает для незашифрованного раздела. Установка в зашифрованном разделе просто не указана. – highsciguy 2 June 2017 в 17:24
  • 4
    Возможно, проблема заключается в том, что установка ubuntu на зашифрованном разделе находится на том же жестком диске, что и у меня загружается? Существует Q & amp; A, который предлагает это здесь: unix.stackexchange.com/questions/335247/… – highsciguy 4 June 2017 в 22:16
  • 5
    Я думаю, проблема связана с тем, что вы повторно используете ядра в / dev / sda1 (aka / boot) для корневых файловых систем (devmapper и / dev / sdaX). Скрипт grub в /etc/grub.d/10_linux выполняет итерацию в функции linux_entry () над ядрами, найденными в / boot. Я не делаю этого в вашем случае ... Попробуйте добавить «set -x» в начале функции linux_entry () и проверить, что происходит с вашими ядрами. «Set -x» будет генерировать огромный объем вывода. Но без подробностей о процессе я не вижу, как вы можете решить эту проблему. – Simon Sudler 6 June 2017 в 10:42

Другие вопросы по тегам:

Похожие вопросы: