Я создал загрузочный образ варианта Arch Linux для записи на флешки. Он использует grub со значениями по умолчанию и прекрасно работает при загрузке физического устройства с USB. (Этот вопрос не должен иметь ничего общего с Arch, хотя)
Теперь я пытаюсь использовать то же изображение с VirtualBox (на Mac, если это имеет значение). Сначала я конвертирую его (все еще в Linux/Arch):
VBoxManage convertfromraw foo.img foo.vmdk --format VMDK
затем я копирую его на Mac и просматриваю графический интерфейс, выбирая "Linux" / «Other Linux (64-bit)» и файл .vmdk в качестве корневого диска.
Подходит Grub, показывает правильные параметры, затем пропускает экран (как и положено), немного думает, и затем я получаю версию "not find root disk":
ERROR: device 'UUID=3d6ee...' not found. Skipping fsck. ERROR: Unable to find root device 'UUID=3d6ee...'. You are being dropped to a recovery shell.
В этой оболочке восстановления:
# blkid
(ничего такого)
Тем не менее, если я выберу опцию загрузки grub "fallback initramfs", она загрузится просто отлично. Если я тогда скажу:
# blkid /dev/sda1: UUID="3d6ee..." TYPE="ext4" PARTUUID="771...-01" /dev/sda2: UUID="98234..." TYPE="ext4" PARTUUID="771...-02"
который, кажется, говорит мне, что UUID, который он не мог найти, действительно существует.
Я попытался GRUB_DISABLE_LINUX_UUID = true в /etc /default /grub при настройке grub, но затем появляется сообщение:
ERROR: device '/dev/mapper/loop1p1' not found. Skipping fsck. ERROR: Unable to find root device '/dev/mapper/loop1p1'.
(Не могу винить это за это, я думаю ...)
Так почему же резервный initframfs найдет его, а по умолчанию нет. Хуже того, почему blkid ничего не показывает?
(Я разместил этот вопрос и на платах поддержки Arch Linux и VirtualBox, но пока никаких ответов.)