Не может заставить Ubuntu загружаться от LUKS / группа LVM на внешнем диске на iMac с перенаходкой

У меня есть iMac 2017, и пытаюсь установить Ubuntu на внешнем диске USB3. Внешний диск имеет таблицу разделов GPT (никакой гибридный MBR) и делится как так:

/dev/sda1: EFI partition
/dev/sda2: Windows-To-Go partition
/dev/sda3: ext4 Linux boot partition
/dev/sda4: LUKS / LVM partition
/dev/sda5: extra partition, not currently being used

Группа LVM это доступно однажды раздел LUKS, дешифрована, содержит ext4 раздел, предназначенный, чтобы быть основным разделом для моей системы Linux и разделом подкачки.

Я использую, повторно находят на моем Mac для упрощения начальной загрузки этих различных операционных систем.

Когда я установил Ubuntu, я удостоверился, что все мои разделы были уже дешифрованы и смонтированы, я выбрал ручную установку диска в установщике (поскольку я не хотел, чтобы это сдуло мой целый внешний диск включая установку Windows), и вручную указал следующее:

  1. /boot как точка монтирования для /dev/sda3
  2. / как точка монтирования для основного ext4 раздела в моей группе LVM
  3. личинка должна быть установлена на /dev/sda3

Установщик закончен без ошибок. Когда я перезагружаю, однако, у меня есть две опции для того, как загрузить эту установку Ubuntu и никакую работы.

Я могу загрузиться от загрузчика личинки, установленного в разделе EFI моего внутреннего жесткого диска. Обратите внимание, что я не хотел Linux или любую другую операционную систему, добавляющую их загрузчик к этому диску. Я просто хочу, чтобы это осталось нормальным диском macOS с добавлением перенаходки. Тем не менее, если я загружаюсь от него, использование повторно находит, это показывает логотип Ubuntu прежде, чем отбросить меня к (initramfs) подсказка без сообщений об ошибках вообще.

Если я выбираю загрузчик, я указал, должен быть установлен на /dev/sda3, это начинает загружаться, сбои со следующими ошибками:

mount: can't find /root in /etc/fstab
...
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /run on /root/run failed: No such file or directory
run-init: current directory on the same filesystem as the root: error 0
Target file system doesn't have requested /sbin/init
run-init: current directory on the same filesystem as the root: error 0
(repeats four more times)
No init found. Try passing init= bootarg.

... и затем отбрасывает меня к a (initramfs) подсказка.

Я понятия не имею, как зафиксировать это! Я пытался использовать Восстановление начальной загрузки, но это не имело никакого значения вообще.На помощь!

2
задан 16 February 2018 в 21:25

1 ответ

Я наконец получил его работа! Спасибо в основном к этому ответу для другого связанного с шифрованием вопроса. Я не заканчивал тем, что шифровал свой раздел начальной загрузки, поскольку я не думал, что это было необходимо, но было несколько ключевых вещей, которые я сделал по-другому по сравнению с вышеупомянутым. Кажется, что главная проблема была то, что установщик Ubuntu не мог выяснить точно, как мои разделы были настроены, таким образом, это было необходимо для chroot в новую установку Linux внесите некоторые изменения, которые указывают на то, что продолжается, и затем переустановите личинку. Вот то, что я сделал:

  1. Я отформатировал/dev/sda3 как ext2. (Не уверенный, если это было важно.)
  2. При установке я указал, что загрузчик должен быть установлен на /dev/sda нет /dev/sda3
  3. Я указал /dev/sda1 как раздел начальной загрузки EFI
  4. После установки, законченной успешно, я сказал это не перезагрузке, и я сделал следующее в терминале:

    sudo mount /dev/mapper/my_linux_lvm_partition /target sudo mount /dev/sda3 /target/boot sudo mount /dev/sda1 /target/boot/efi sudo mount --bind /dev /target/dev sudo mount --bind /proc /target/proc sudo mount --bind /sys /target/sys sudo chroot /target

  5. Теперь, когда я chroot'редактор в мою установку, я отредактировал /etc/default/grub и добавил строку: GRUB_ENABLE_CRYPTODISK=y

  6. Получил UUID моего различного использования разделов blkid

  7. Добавленный строка к /etc/crypttab: my_luks_partition_name UUID=<UUID of /dev/sda4> none luks,discard

  8. sudo grub-install --target=x86_64-efi --efi-directory /boot/efi --bootloader=ubuntu --boot-directory=/boot/efi/EFI/ubuntu --recheck

  9. sudo grub-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg

  10. sudo update-initramfs -c -k all

Я заметил, что было важно получить название корректного раздела LUKS, иначе будут ошибки при выполнении обновления-initramfs.

Это взяло меня два целых дня разочарования получения по запросу волос для выяснения. Я только надеюсь, что эта информация поможет кому-то еще сделать это также почти без такого большого количества мук.

1
ответ дан 2 December 2019 в 04:45

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

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