ventoy / vtoyboot

Work with ventoy to support boot Linux distros in a vdisk file (vhd/vdi/raw ...)
GNU General Public License v3.0
275 stars 23 forks source link

使用vtoyboot引导加载[openSUSE-Leap-15.2]失败 #4

Closed baka-gourd closed 3 years ago

baka-gourd commented 3 years ago
ventoy commented 3 years ago

在执行完 vtoyboot 脚本之后,看一下 /boo/efi/EFI 目录下有 boot/bootx64.efi 文件吗?

baka-gourd commented 3 years ago

在执行完 vtoyboot 脚本之后,看一下 /boo/efi/EFI 目录下有 boot/bootx64.efi 文件吗?

没有。

**********************************************
      vtoyboot 1.0.8
      longpanda admin@ventoy.net
      https://www.ventoy.net
**********************************************

dracut: Executing: /usr/bin/dracut --list-modules
Current system use dracut as initramfs tool
updating the initramfs, please wait ...
dracut: Executing: /usr/bin/dracut -f
dracut: dracut module 'biosdevname' will not be installed, because command 'biosdevname' could not be found!
dracut: *** Including module: bash ***
dracut: *** Including module: systemd ***
dracut: *** Including module: systemd-initrd ***
dracut: *** Including module: i18n ***
dracut: *** Including module: drm ***
dracut: *** Including module: plymouth ***
dracut: *** Including module: btrfs ***
dracut: *** Including module: dm ***
dracut: Skipping udev rule: 64-device-mapper.rules
dracut: Skipping udev rule: 60-persistent-storage-dm.rules
dracut: Skipping udev rule: 55-dm.rules
dracut: *** Including module: kernel-modules ***
dracut: *** Including module: kernel-modules-extra ***
dracut: *** Including module: rootfs-block ***
dracut: *** Including module: suse-btrfs ***
dracut: *** Including module: suse-xfs ***
dracut: *** Including module: terminfo ***
dracut: *** Including module: udev-rules ***
dracut: Skipping udev rule: 40-redhat.rules
dracut: Skipping udev rule: 50-firmware.rules
dracut: Skipping udev rule: 50-udev.rules
dracut: Skipping udev rule: 91-permissions.rules
dracut: Skipping udev rule: 80-drivers-modprobe.rules
dracut: *** Including module: dracut-systemd ***
dracut: *** Including module: haveged ***
dracut: *** Including module: ostree ***
dracut: *** Including module: usrmount ***
dracut: *** Including module: base ***
dracut: *** Including module: fs-lib ***
dracut: *** Including module: shutdown ***
dracut: *** Including module: suse ***
dracut: *** Including module: suse-initrd ***
dracut: *** Including module: ventoy ***
dracut: *** Including modules done ***
dracut: *** Installing kernel module dependencies ***
dracut: *** Installing kernel module dependencies done ***
dracut: *** Resolving executable dependencies ***
dracut: *** Resolving executable dependencies done ***
dracut: *** Hardlinking files ***
dracut: *** Hardlinking files done ***
dracut: *** Stripping files ***
dracut: *** Stripping files done ***
dracut: *** Generating early-microcode cpio image ***
dracut: *** Constructing GenuineIntel.bin ***
dracut: *** Store current command line parameters ***
dracut: Stored kernel commandline:
dracut: rd.driver.pre=mptsas
rd.driver.pre=mptspi
rd.driver.pre=nvme
rd.driver.pre=usb_storage
rd.driver.pre=ehci-fsl
rd.driver.pre=ehci-hcd
rd.driver.pre=ehci-pci
rd.driver.pre=ehci-platform
rd.driver.pre=ohci-hcd
rd.driver.pre=ohci-pci
rd.driver.pre=ohci-platform
rd.driver.pre=uhci-hcd
rd.driver.pre=xhci-hcd
rd.driver.pre=xhci-pci
rd.driver.pre=vhci-hcd
rd.driver.pre=usbhid
rd.driver.pre=sg
rd.driver.pre=uas
rd.driver.pre=pmcraid
rd.driver.pre=smartpqi
rd.driver.pre=megaraid
rd.driver.pre=megaraid_sas
rd.driver.pre=vmw_pvscsi
rd.driver.pre=mvsas
rd.driver.pre=aacraid
dracut:  root=UUID=a5c9d55c-cc83-48e1-8763-9542e4165c70 rootfstype=btrfs rootflags=rw,relatime,space_cache,subvolid=256,subvol=/@,subvol=@
dracut: *** Creating image file '/boot/initrd-5.3.18-lp152.19-default' ***
dracut: *** Creating initramfs image file '/boot/initrd-5.3.18-lp152.19-default' done ***
update-grub no need
GPT check /dev/sda OK ...
PREFIX=/boot/grub2 CFG=grub.cfg DISK=/dev/sda
MOD_PATH=/boot/grub2
update grub.cfg ...
Generating grub configuration file ...
Found theme: /boot/grub2/themes/openSUSE/theme.txt
Found linux image: /boot/vmlinuz-5.3.18-lp152.19-default
Found initrd image: /boot/initrd-5.3.18-lp152.19-default
done
Write loader to /dev/sda ...

vtoyboot process successfully finished.
ventoy commented 3 years ago

我自己测试的,使用 openSUSE-Leap-15.2-DVD-x86_64.iso 在 UEFI 模式下安装,安装完成之后是有 /boot/efi/EFI/boot/bootx64.efi 这个文件的呀。而且我自己测试了一遍是可以正常启动的。

test@localhost:~> 
test@localhost:~> tree /boot/efi/EFI/
/boot/efi/EFI/
├── boot
│   ├── bootx64.efi
│   └── fallback.efi
└── opensuse
    ├── boot.csv
    ├── grub.cfg
    ├── grub.efi
    ├── grubx64.efi
    ├── MokManager.efi
    └── shim.efi

2 directories, 8 files
test@localhost:~> 

另外,你这个虚拟机在安装openSUSE之前是不是使用过,你全新创建一个虚拟机安装一遍试试呢?

baka-gourd commented 3 years ago

我自己测试的,使用 openSUSE-Leap-15.2-DVD-x86_64.iso 在 UEFI 模式下安装,安装完成之后是有 /boot/efi/EFI/boot/bootx64.efi 这个文件的呀。而且我自己测试了一遍是可以正常启动的。

test@localhost:~> 
test@localhost:~> tree /boot/efi/EFI/
/boot/efi/EFI/
├── boot
│   ├── bootx64.efi
│   └── fallback.efi
└── opensuse
    ├── boot.csv
    ├── grub.cfg
    ├── grub.efi
    ├── grubx64.efi
    ├── MokManager.efi
    └── shim.efi

2 directories, 8 files
test@localhost:~> 

另外,你这个虚拟机在安装openSUSE之前是不是使用过,你全新创建一个虚拟机安装一遍试试呢?

没有使用过,再次重新安装后仍然没有,是不是与我主机使用了wsl2有关? image 这就是全部了 使用的是tuna源的镜像

baka-gourd commented 3 years ago

解决了,一定要开安全启动(opensuse)才能正常使用 或许需要在文档中提及一下

ventoy commented 3 years ago

是要开启安全启动还是要关闭安全启动? 我本地测试的都是没有开启安全启动的,一样能启动。 另外, 你可以不动安全启动的设置,这样试一下:

mkdir -p /boot/efi/EFI/boot
cp /boot/efi/EFI/opensuse/grubx64.efi   /boot/efi/EFI/boot/bootx64.efi

就是 手动拷贝一个 bootx64.efi,然后再启动试试。

baka-gourd commented 3 years ago

是要开启安全启动还是要关闭安全启动? 我本地测试的都是没有开启安全启动的,一样能启动。 另外, 你可以不动安全启动的设置,这样试一下:

mkdir -p /boot/efi/EFI/boot
cp /boot/efi/EFI/opensuse/grubx64.efi   /boot/efi/EFI/boot/bootx64.efi

就是 手动拷贝一个 bootx64.efi,然后再启动试试。

安装的时候开启安全启动,不然不会装mokutil和生成boot.efi,运行ventoy的本机不用 安装指安装opensuse到虚拟盘文件

ventoy commented 3 years ago

在VirtualBox里面把openSUSE安装到 VDI 文件, 你的VirtualBox支持安全启动? 我的怎么不支持? 而且我用的VirtualBox不支持安全启动,也不用开启,安装之后也是有 bootx64.efi的。

baka-gourd commented 3 years ago

在VirtualBox里面把openSUSE安装到 VDI 文件, 你的VirtualBox支持安全启动? 我的怎么不支持? 而且我用的VirtualBox不支持安全启动,也不用开启,安装之后也是有 bootx64.efi的。

我好像是支持的vbox6.1.6,挺迷惑的。可能是wsl2的缘故? 这个不开安全启动就只会生成上图的一个文件

ventoy commented 3 years ago

我是 6.1.14 版本,没看到哪里有设置安全启动的呀。只有设置efi模式的选项。

baka-gourd commented 3 years ago

我是 6.1.14 版本,没看到哪里有设置安全启动的呀。只有设置efi模式的选项。

我指的安全启动是在opensuse里设置,在安装的过程中有个配置详单(在开始安装前)里可以关掉,同样在安装完后进入系统可以打开,是系统对安全启动都支持,并不是vbox的设置。