我朋友的笔记本电脑出了车祸(他很好!)。然而,笔记本电脑很旧,它是 Acer Aspire 1520,CD-rom 驱动器坏了,没有软盘驱动器。
我给他做了一个 USB 启动,然后我看了一下,发现他的 BIOS 无法从 USB 启动。在只有我的事情是GRUB控制台,但他热衷于只安装XP(上USB),并用它只是为了电影。
是否可以使用 GRUB 控制台访问 USB 并启动 Windows 安装?这是一项艰巨的任务,但我认为这可能是方法,或者尝试通过 LAN 进行安装,但我认为这是不可能实现的。
似乎有很多关于这个的讨论,但我找不到一个简单的答案。
当我尝试安装 grub2 时,出现此错误:
# grub2-install /dev/sda
Installing for i386-pc platform.
grub2-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub2-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
grub2-install: error: will not proceed with blocklists.
Run Code Online (Sandbox Code Playgroud)
这是 /dev/sda 的布局:
Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector …Run Code Online (Sandbox Code Playgroud) 我在安装了 Windows 10 的系统上安装了 Ubuntu。我可以使用 GRUB 正常启动到 Windows 或 Ubuntu。我想删除 Ubuntu 分区,但首先我必须恢复 Windows 10 MBR。
在Windows RE 中使用 Bootrec.exe 来解决启动问题(适用于 Windows 7 和 Windows Vista)中,他们说使用 Bootrec.exe 和 options /FixMbr /FixBoot,但是当我在命令提示符下键入“bootrec.exe /FixMbr”时,Windows 说:
'bootrec.exe' 未被识别为内部或外部命令。
我说我可以启动到 Windows 10 并从那里运行命令提示符(我不需要使用安装介质),但我不知道该输入什么。
如何引导到 GRUB 中的 ISO 文件?ISO 文件位于 reiserfs 分区上,GRUB 可以访问它(已经测试过了)。
我已经按照官方安装指南中的说明在 MacBook Pro 8,1(15 英寸,如果这对硬件很重要)双引导上安装了最新版本的 ArchLinux(2014.06.01)。但是,当尝试重新启动时进入新安装的系统,它让我进入一个恢复外壳:
ERROR: device 'UUID=<snip>' not found. Skipping fsck.
ERROR: Unable to find root device 'UUID=<snip>'.
You are being dropped to a recovery shell
Type 'exit' to try and continue booting
sh: can't access tty: job control turned off
[rootfs /]#
Run Code Online (Sandbox Code Playgroud)
(我删除了 UUID,因为我不想输入它,但它与blkid(从安装盘中)给我的相同,用于安装 ArchLinux 的分区)
其他 在线 来源表明这是由于一个过时的pacman,udev,filesystem或linux包。但是,他们仅在从工作系统更新内核后才描述此问题,而不是全新安装。我arch-chroot在引导到安装磁盘时从环境中强制重新安装了这些软件包,但这并没有改变情况。
相反,对我的一些实验grub.cfg表明,抱怨的是选择要使用的文件root的linux命令的参数vmlinuz。实际上,更改root=UUID=<snip>为root=LABEL=ArchLinuxor …
TL; DR,在编辑中添加:
问题是:
如何让 BIOS 在同一个 UEFI 引导分区上更喜欢 GRUB 而不是 Windows 引导管理器?
问题不在于 Grub;Grub 在 BIOS 启动时会做正确的事情。问题不在于“磁盘不可引导”,因为 Windows UEFI 引导程序和 Grub UEFI 引导程序都是可引导的。问题在于 BIOS 选择从哪个 UEFI 引导程序引导。
我正在设置一台新计算机,并希望它默认启动到 Ubuntu,但可以选择启动时选择 Windows。如果断电又断电,这一点尤其重要;我什至不会在家里。
我首先在我的内部 NVMe 磁盘上安装 Ubuntu 17.04,使用 GPT 进行分区以使用一半的磁盘,以及一个单独的 UEFI 引导分区。GRUB 启动就好了,我会在启动时看到 GRUB 启动菜单,我可以在其中选择 GRUB 知道的任何项目。
然后我从最近下载的 ISO 安装了 Windows 10 Pro。它将 Windows 启动管理器安装到同一个 UEFI 分区上,并保持 Ubuntu 完好无损(太棒了!)并且可以很好地启动到 Windows 10。
但是,它做了“某事”,使 UEFI 固件在启动时立即选择 Windows 启动管理器而不是 GRUB。现在引导 Linux 的唯一方法是使用 BIOS 引导管理器(我的 BIOS 上的 F11)并手动选择 GRUB 引导加载程序。UEFI BIOS 知道 UEFI 分区上有多个可引导安装,因为我可以在引导管理器中选择它们。但是,当我在 UEFI BIOS 的设置菜单中时,它只是让我在引导优先级选择中选择“UEFI …
在测试期间,我有时会在/boot/grub/menu.lst (suse) 或在引导期间在 grub 屏幕上添加/更改引导参数。
系统启动完成后,如何查看使用了哪些启动参数?
据我所知,在 BIOS 或类似固件的东西启动后,控制权将传递给引导加载程序。
为什么BIOS不能直接加载OS内核?
此外,GRUB 手册说:简单地说,引导加载程序是计算机启动时运行的第一个软件程序。BIOS 不是第一个运行的程序吗?
我做了以下事情:
现在我想通过将 grub 安装到其 MBR 和 /boot 目录中来使 .img 文件可启动。我的目标是使用 qemu 加载 .img 文件。如果使用 grub2 而不是 grub legacy 会更好。
谢谢。
我们如何向 grub2 添加内核?我知道我们可以用以前的版本做些什么,但它似乎已经改变了。我们应该编辑哪些文件?
grub ×10
boot ×6
linux ×5
bootloader ×2
ubuntu ×2
windows-10 ×2
arch-linux ×1
bios ×1
iso-image ×1
kernel ×1
lvm2 ×1
macbook-pro ×1
mbr ×1
partitioning ×1
uefi ×1