amo*_*san 13 grub2 dual-boot windows
我有一个双启动设置:
目前,当我想reboot
从 Ubuntu 进入 Windows 时,我使用grub-reboot
适当的数字作为参数。这很好用。
然而,有时 Windows 需要重新启动,以便某个程序可以安装或更新,我必须手动选择正确的 grub 启动菜单项。是否有类似的方式(来自 Windows UI)告诉 grub 启动哪个条目?
我想该grub-reboot
命令将参数传递给一个文件,该文件又由 grub on 读取reboot
。
编辑(关于我选择的答案): 我目前正在考虑安装包含 /boot 的 ext4 驱动器并编写编辑脚本。这可能需要很长时间,因为我是在每周 40 小时的非技术工作之外的空闲时间做这件事。^^
Win*_*nix 20
grub
从 Windows控制很麻烦。从 Windows 访问 Ubuntu 的第三方应用程序和一些黑客是必需的。但是,从这篇文章的顶部:如何更改我的双启动发行版上的顺序,您可以设置grub
为自动重新启动到最后一个菜单选项。因此,当您最初使用 Windows 启动并在凌晨 2 点醒来运行更新时,grub
将重新加载 Windows,以便它可以正常完成更新。
当您手动重新启动并从grub
所有下一次重新启动中选择 Ubuntu 时,会自动加载 Ubuntu。如果您当前内核中存在错误并希望grub
自动重新启动到您选择的旧内核版本,则此功能同样有效。
这是相当直接的。使用sudo
权力编辑/etc/default/grub
和更改以下内容:
#GRUB_DEFAULT=0 # Rather than option #1, we'll always default to last boot choice.
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
Run Code Online (Sandbox Code Playgroud)
您将注释掉的第一行并在其下方插入接下来的两行。
保存文件并在终端中输入:
sudo update-grub
Run Code Online (Sandbox Code Playgroud)
目前你使用这样的东西:
sudo grub-reboot x # Where x is Windows zero-based grub menu number
sudo reboot now
Run Code Online (Sandbox Code Playgroud)
从这个修改后的 Stack Exchange答案中,您可以使用默认的 grub 重新启动到 Windows。将此代码复制到您的~/.bashrc
文件中:
function reboot-to-windows {
WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
sudo grub-set-default "$WINDOWS_TITLE"
sudo reboot
}
Run Code Online (Sandbox Code Playgroud)
~/.bashrc
用新reboot-to-windows
函数保存文件。~/.bashrc
以加载更改。: ~/.bashrc
以将其重新加载到现有的终端会话中,但有些人建议不要这样做。要从命令行重新启动到 Windows,请使用:
reboot-to-windows
Run Code Online (Sandbox Code Playgroud)
如果 Windows 在您不在时自动重新启动,则 Windows 将重新启动。这允许在 Windows 有时使用的多次重新启动周期内正常处理 Windows 自动更新。
你可以复制什么grub-reboot
。这只是一个最终调用的脚本:
grub-editenv /boot/grub/grubenv set next_entry="Windows"
Run Code Online (Sandbox Code Playgroud)
Windows
您的 grub 菜单项的名称在哪里。可能不是那样
我跑了。它所做的一切都插入next_entry=Windows
到/boot/grub/grubenv
. 在第 2 行。因此,如果它只是一个文件,则在文件系统上,您可以在 Windows 中执行完全相同的操作。这是一个需要解决的 Windows 问题,但这里是高级概述:
挂载引导所在的磁盘。这可能是最难的一点,因为这可能是 ext4。这可能会有所帮助,但您可能需要在 Windows 上运行 Linux 才能对其进行编辑,这并非令人难以置信。
正如穆鲁指出的那样,它不需要那么难。你可以移动/boot
到它自己的 FAT32 分区。这使得在 Windows 中安装变得微不足道。
next_entry=Windows
在评论之后,在哈希之前插入(或其他)到文件中。
在 Windows 中编写脚本完全超出了我的舒适区,而不是我们在这里所做的。但这应该是您需要做的全部。
归档时间: |
|
查看次数: |
9006 次 |
最近记录: |