Bashを起動するには、KVM内で2つの初期化イメージ(initrdとboot)を指定する必要があるのはなぜですか?

Bashを起動するには、KVM内で2つの初期化イメージ(initrdとboot)を指定する必要があるのはなぜですか?

私のコンピュータはKVM仮想マシン(Parallels Desktop v8)で実行されており、BIOS(UEFIではない)があり、SATAドライブが接続されており、ディスクにGPTパーティションがあり、パーティションがext4形式で、ブートローダがextlinux v。 4.05、カーネルはUbuntu 13.10パッケージlinux-image-3.11.0-18-genericです。

initrd引数が指定されておらず、指定された場合にのみ、システムは(initramfs)プロンプトで起動しますboot

(initramfs) cat /proc/cmdline
initrd=/boot/initrd.img-3.11.0-18-generic ro quiet BOOT_IMAGE=/boot/vmlinuz-3.11.0-18-generic

boot=/dev/sda1質問への回答で指摘したように、システムを接続した後にのみbashプロンプトで起動します。initramfsプロンプトと「インストール: '/etc/fstab'を読み取れませんでした:そのファイルまたはディレクトリがありません」と「initが見つかりません」エラーを修正する方法は?

カーネルは通常、追加の設定なしでブートパーティションを見つけることができることを読んでいました。

環境:

$ sudo efibootmgr
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
$ sudo modprobe efivars
(no result)

エラー(initramfs)プロンプト:

mount: can't read '/etc/fstab': No such file or directory
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
The filesystem doesn't have requested /sbin/init.
No init found. Try passing init= bootarg.

(initramfs) cd /root || mkdir /root
(initramfs)

アップデート #1 - (initramfs) echo $(pwd) 出力

(initramfs) cd /root && echo $(pwd) || mkdir /root?
/root
(initramfs)

アップデート #2 - (initramfs) ls /dev 出力

(initramfs) ls /dev
vga_arbiter rfkill mem null port zero full random urandom kmsg tty console
tty0-tty63 vcs vcsa vcs1 vcsa1 snapshot ecryptfs fuse ptmx ttyS0-ttyS31
ttyprintk hpet ram0-ram15 loop-control loop0-loop7 net ppp bus input psaux
uinput rtc0 mapper mcelog cpu_dma_latency network_latency network_throughput
pts core fd stdin stdout stderr btrfs-control char rtc sg0 bsg sda sda1

アップデート #3 - (initramfs) ls / && ls /*/ 出力

(initramfs) ls /
dev root conf bin etc sbin run init lib64 scripts lib sys proc tmp var
(initramfs) ls /*/
/var/:
lock

/tmp/:

/sys/:
hypervisor kernel power block dev fs module firmware class devices bus

/scripts/:
panic init-bottom local-premount nfs functions local init-top

/sbin/:
blkid wait-for-root rmmod hwclock udevadm dumpe2fs modprobe

/run/:

/root/:

/proc/:
1-130 142-148 167-169 219-231 233 243-245 248 self ounts net sysvipc fs
driver tty bus sys cgroups irq mtrr fb acpi misc scsi mdstat execdomains
ioports imem schedstat sched_debug timer_list timer_stats dma modules
kallsyms latency_stats buddyinfo pagetypeinfo vmstat zoneinfo slabinfo
vmallocinfo swaps filesystems locks cmdline consoles cpuinfo devices 
interrupts loadavg meminfo stat uptime version softirqs kcore kmsg 
kpagecount kpageflags version_signature key-users crypto diskstats
partitions sysrq-trigger

/lib64/:
ld-linux-x86-64.so.2

/lib/:
udev klibc-dev6iJxsMLkI8yu6xMVSFDIuVsJk.so x86_64-linux-gnu modules firmware systemd

/etc/:
modprobe.d ld.so.conf.d udev ld.so.conf ls.so.cache mtab

/dev/:
...see above...

/conf/:
initramfs.conf arch.conf conf.d

/bin/:
kmod udevadm dmesg busybox poweroff fstype losetup ipconfig reboot halt sh
run-init pivot-root date dd insmod nfsmount sleep mount cpio resume

アップデート #4 - ls /scripts/* /conf/* /sys/firmware/*/ 出力

(initramfs) ls /scripts/* /conf/* /sys/firmware/*/
/scripts/functions /scripts/local /scripts/nfs /conf/initramfs.conf /conf/arch.conf  

/sys/firmware/memmap/:
9 8 7 6 5 4 3 2 1 0

/sys/firmware/acpi/:
hotplug tables pm_profiles interrupts

/conf/conf.d:

/scripts/panic:
ORDER keymap

/scripts/local-premount:
ORDER fixrtc resume

/scripts/init-top:
ORDER all_generic_ide blacklist udev

/scripts/init-bottom:
ORDER udev

この場合、カーネルがブートパーティションを見つけることができないのはなぜですか?

ベストアンサー1

おすすめ記事