|
ubuntu-18.04.6-desktop-amd64.iso启动分析
方法1.
虚拟机挂载ubuntu-18.04.6-desktop-amd64.iso启动
可以进入包含‘用户名’‘密码’的界面。应该是启动成功了。
方法2.
title ubuntu-18.04.6-desktop-amd64.iso
find --set-root /boot/imgs/ubuntu-18.04.6-desktop-amd64.iso
map /boot/imgs/ubuntu-18.04.6-desktop-amd64.iso (0xff)
chainloader (0xff)
以前以为进入红背景界面(有循环渐进的点),就是启动成功了,其实是误判。
过了这个界面,提示如下:
[ 67.49145] blk_update_request: I/O error. dev fd0. sector 0 op 0x0:(READ) f1
ags 0x0 phys_seg 1 prio class 0
BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3.3) built-in shell (ash)
Enter 'help' for a list of built-in command.
(initramfs)
方法3.
title /linux1/ubuntu/ubuntu-18.04.6-desktop-amd64.iso
debug 3
find --ignore-floppies --ignore-cd --set-root /boot/imgs/ubuntu-18.04.6-desktop-amd64.iso
map /boot/imgs/ubuntu-18.04.6-desktop-amd64.iso (hd32)
map --hook
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/boot/imgs/ubuntu-18.04.6-desktop-amd64.iso noprompt noeject
initrd (hd32)/casper/initrd
boot
提示如下:
[ 3.290560] ---[ end Kernel panic - not syncing: vfs: unable to mount root fs on unknown-block(0,0) ]
探讨几个问题:
1. 方法1与方法2都是加载ISO内启动软盘镜像中的bootx64.efi,但是一个成功另一个失败。
方法2加载的(0xff),好像kernel不认识。
如果使用以下方法:
chainloader (0xff)/efi/boot/bootx64.efi boot=casper iso-scan/filename=/boot/imgs/ubuntu-18.04.6-desktop-amd64.iso noprompt noeject
kernel反馈:打不开\boot\imgs\ubuntu-18.04.6-desktop-amd64.iso
或许是kernel根本不理会UEFI建立的设备,而是抛弃UEFI环境,直接加载自己的驱动,然后探测有那些存在的设备,其中有没有传入指定的设备存在?
或许是kernel根本不理会UEFI建立的VenHw(EBE35AD9-40F5-AADE-0B919A46BF4b)/CDROM(1,11c,B40)这样类型的设备,
而只认PciRoot(0)/Pci(1,1)/Ata(S,M,0)/CDROM(1,11c,B40)这样类型的设备?
2.方法3失败,是传入的参数缺失或是不正确?我觉得这是启动linux最麻烦的地方,每个分支的都不一样,而且同一分支的不同序号也不同。
3.怎样才能成功启动linux光盘?请各路神仙多多指教! |
|