Minha máquina está executando dentro de uma máquina virtual KVM (Parallels Desktop v8), tendo um BIOS (não UEFI), tendo uma unidade SATA conectada, uma partição GPT nesse disco, a partição é formatada em ext4, o carregador de inicialização é extlinux v 4.05, e o kernel é o pacote Ubuntu 13.10 linux-image-3.11.0-18-generic.
O sistema é inicializado para o prompt (initramfs) quando somente o argumento initrd
e no boot
é especificado:
(initramfs) cat /proc/cmdline
initrd=/boot/initrd.img-3.11.0-18-generic ro quiet BOOT_IMAGE=/boot/vmlinuz-3.11.0-18-generic
Somente depois de inserir boot=/dev/sda1
o sistema inicializa para o prompt bash, como apontado na resposta da pergunta Como corrigir o boot no prompt initramfs e" mount: cannot read " / etc / fstab ': Nenhum arquivo ou diretório "e" Nenhum init encontrado "?
Eu li que o kernel geralmente consegue encontrar sua partição de inicialização sem configuração adicional.
Ambiente:
$ sudo efibootmgr
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
$ sudo modprobe efivars
(no result)
Solicitação com falha (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)
(initramfs) cd /root && echo $(pwd) || mkdir /root?
/root
(initramfs)
(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
(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
(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
Por que o kernel não consegue encontrar a partição de inicialização nesse caso?