我有一台机器用于双启动 Ubuntu(当前为 16.04)和 Windows 7,使用 Ubuntu 的 GRUB 作为引导加载程序。
现在我按照官方安装说明添加了 Arch Linux 作为第三个操作系统。我没有从 Arch 安装 GRUB,因为我想使用由 Ubuntu 控制的那个。这些说明包含一个命令mkinitcpio -p linux
,该命令可能会生成一些我按照描述运行的引导文件。
现在,当我尝试通过其默认条目从 GRUB 启动 Ubuntu 时,出现了这个令人不快的错误(抱歉屏幕照片):
正如输出uname -a
所示,它正在尝试启动 Arch 内核,但/dev/sda6
它是 Ubuntu 根分区。
我必须导航到Advanced options for Ubuntu
并选择其中一个Ubuntu, with Linux 4.4.0-*
条目才能加载 Ubuntu,但我找不到可以正确加载 Arch 的条目。
sudo update-grub
从 Ubuntu运行(“update-grub
是用于运行grub-mkconfig -o /boot/grub/grub.cfg
以生成 grub2 配置文件的存根。”)不会更改任何内容。grub-customizer
到目前为止,该工具也无法解决此问题。
是什么导致了 GRUB 的这种混乱,我该如何修复它以便每个 Linux 版本都使用正确的内核和正确的分区启动?
看起来我在安装了 Ubuntu 的 /boot 的情况下愚蠢地安装了 Arch,所以它可能将其引导文件放在那里。
我可以擦除所有与 Arch …
我下载了Android x86_64 5.1-rc1作为可启动img
安装映像。
我想将其安装到使用 QEMU/KVM 和 virt-manager 作为图形前端的 Ubuntu 16.04 64 位 UEFI 上运行的虚拟机。
OVMF 已安装,并且虚拟机管理程序应正确配置,因为带有 UEFI 的 Ubuntu 测试虚拟机(其虚拟磁盘文件和安装程序映像位于同一位置)工作正常。
但是,当我使用下面转储的设置启动新创建的 VM 并将下载的 Android-x86 映像安装到虚拟 CD 驱动器中时,它不会启动,但会显示 EFI Shell:
我在这里做错了什么?如何在 QEMU/KVM 中安装 Android-x86?
$ virsh dumpxml android-x86_64-5.1rc1
<domain type='kvm' id='2'>
<name>android-x86_64-5.1rc1</name>
<uuid>599615a7-aaad-499a-84b4-0d894080dd95</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64' machine='pc-i440fx-wily'>hvm</type>
<loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader>
<nvram>/var/lib/libvirt/qemu/nvram/android-x86_64-5.1rc1_VARS.fd</nvram>
</os>
<features>
<acpi/>
<apic/>
</features>
<cpu mode='custom' match='exact'>
<model fallback='allow'>Broadwell-noTSX</model>
</cpu>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer …
Run Code Online (Sandbox Code Playgroud)