Назад | Перейти на главную страницу

mount: установка / dev в / root / dev не удалась: нет такого файла или каталога после преобразования lxc в виртуальную машину

Я пытался преобразовать контейнер lxc в виртуальную машину, но столкнулся с проблемой при загрузке. Я получаю командную строку (initramfs) и получаю следующие ошибки:

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: opening console: No such file or directory 

Target filesystem
doesn't have requested /sbin/init.

run-init: opening console: No such
file or directory (repeated a few times)

No init found. Try passing init= bootarg

BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash) Enter
'help' for a list of built-in commands.
(initramfs)

С живого компакт-диска ubuntu 16.04:

blkid
/dev/sda1: UUID="3e671c97-7695-49e7-8c83-4527c94d8f14" TYPE="ext4" PARTUUID="406cef0c-01"
/dev/sda2: UUID="c555438a-fd29-4cad-a8cf-fe92c3b78e0b" TYPE="ext4" PARTUUID="406cef0c-02"
/dev/sr0: UUID="2018-07-31-01-12-13-00" LABEL="Ubuntu 16.04.5 LTS amd64" TYPE="iso9660" PTUUID="6be2cd0d" PTTYPE="dos



 cat /etc/fstab:

 UUID="3e671c97-7695-49e7-8c83-4527c94d8f14"    /boot   ext4    defaults,noatime0   0 UUID="c555438a-fd29-4cad-a8cf-fe92c3b78e0b"   /   ext4    defaults,noatime0   1
 UUID="688b6a9b-0f30-450c-b8d6-1316c0d17798"    none    swap    defaults    00

Соответствующие части /boot/grub/grub.cfg:

set root='hd0,msdos2' if [ x$feature_platform_search_hint = xy ];
then
 search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2
 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2  c555438a-fd29-4cad-a8cf-fe92c3b78e0belse   search --no-floppy
 --fs-uuid --set=root c555438a-fd29-4cad-a8cf-fe92c3b78e0b fi

и:

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu
 --class os $menuentry_id_option 'gnulinux-simple-c555438a-fd29-4cad-a8cf-fe92c3b78e0b' {
        recordfail
         load_video
         gfxmode $linux_gfx_mode
         insmod gzio
         if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
         insmod part_msdos
         insmod ext2
         set root='hd0,msdos1'
         if [ x$feature_platform_search_hint = xy ]; then
           search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  3e671c97-7695-49e7-8c83-4527c94d8f14
         else
           search --no-floppy --fs-uuid --set=root 3e671c97-7695-49e7-8c83-4527c94d8f14
         fi
         linux   /vmlinuz-4.15.0-30-generic root=UUID=3e671c97-7695-49e7-8c83-4527c94d8f14 ro  quiet splash
 $vt_handoff initrd  /initrd.img-4.15.0-30-generic }

Я изменил uuid для linux /vmlinuz-4.15.0-30-generic, чтобы он соответствовал / dev / sda1, а не / dev / sda2. Установщик grub разместил UUID / dev / sda2, где находится корневой раздел, и я не уверен, почему. Есть идеи, как решить эту проблему?

Я наконец понял, в чем была настоящая проблема после решения проблемы с личинкой. Пустой экран был связан с тем, как были идентифицированы консоли (tty). Каждый раз, когда после меню grub появлялся пустой экран, операционная система действительно загружалась нормально, но ничего не показывала. Но всякий раз, когда я нажимал ctrl + alt F1 или F2, появлялось приглашение, и на самом деле все было хорошо. Чтобы решить эту проблему, я заменил эту строку: GRUB_CMDLINE_LINUX_DEFAULT = "тихий всплеск" на GRUB_CMDLINE_LINUX_DEFAULT = "текст" Теперь все работает нормально, и процесс загрузки также отображается на экране.