链接以从Windows重新启动到Ubuntu


10

我有标准的双启动系统:Ubuntu和Windows。默认情况下,将Grub配置为启动Windows。

有没有一种方法可以在Windows中创建某种链接,那就是:

  1. 重新启动Windows
  2. 启动进入Ubuntu

怀疑有办法
蒂姆(Tim)

1
有可能,但不是通过简单的方法....不知道它的功能:sourceforge.net/projects/grub2win/files 如果需要的话可以尝试一下,也可以通过de.mcbf.net/david/grubchoosedefault尝试一下 ,您将获得100 %需要这个ext2fsd.com。以及你可能想读这linuxquestions.org/questions/linux-software-2/...
RiddleMeThis

1
@Tim哪里有遗嘱(或吨钱),哪里有办法:D
Wilf

Answers:


8

您无需/boot/grub/grub.cfg像Michal Hagara建议的那样进行修改。如果您安装新内核并且不更新,可能会破坏Ubuntu e:\home\user\Grubshift\ubuntudefault\grub.cfg

您需要做的就是创建/复制/boot/grub/grubenv具有以下内容的文件

# GRUB Environment Block
next_entry=2
###########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################

next_entry下一个应在下一次启动的grub菜单项的行在哪里(从零开始)。所以next_entry=2会这是第3行。

Grub将在启动后自动删除该值,因此下次您将再次启动到默认操作系统。

这是如何grub-reboot工作的。


这是更方便的解决方案,谢谢!
Dmitriy Berkutov

不知道该功能:)...正如您所看到的,我已经指出,弄乱grub.cfg并不是最明智的方法
RiddleMeThis 2015年

您确定需要987次“#”吗?我认为462次就足够了:-D
Jounathaen

2

这是我的想法:

  • http://www.ext2fsd.com/(它应该能够写入EXT分区,“安装”并在启动时分配字母)
  • 然后我将准备修改后的GRUB文件,将Ubuntu设置为Default OS(该文件也将存储在Linux分区上)
  • Windows BATCH脚本(由所需的快捷方式执行)将:
    1. 备份OLD GRUB(默认为Windows)
    2. 在旧版本(默认为Windows)上复制修改后的GRUB(默认为Ubuntu)
    3. 重启电脑
  • Linux BASH脚本,它将在启动(或重新启动)时修改和更新GRUB,以将Windows设置为默认操作系统

我对这种方法可能是完全错误的,但是我看不到,为什么它不起作用。

编辑:

而且还有:http : //www.paragon-drivers.com/extfs-windows/我从未尝试过。


进展

1.快捷方式重启Windows并启动Ubuntu

OK,下来的这一侧,我们将不得不修改的grub.cfg(/boot/grub/grub.cfg)直接(它被劝告反对- https://askubuntu.com/a/437341/402801),because有没有办法update-grub从Windows 运行...如果您可以继续阅读下去的话。

  • 如前所述,安装Ext2Fsd,使其自动挂载并在启动时分配字母
  • 我在/home/user/Grubshift3个子目录中创建了“备份文件夹” :备份(用于备份实际的/boot/grub/grub.cfg),ubuntudefault(用于将grub.cfg与Ubuntu一起默认存储),Windowsdefault(您已经理念)

安装后,Ubuntu设置为默认设置,因此将其复制grub.cfg到所需目录。在将Windows复制grub.cfg到所需目录之后,我通过grub-customizer修改GRUB获得了“ Windows默认”配置(我认为这更安全)。

之后,打开记事本并插入:

copy e:\boot\grub\grub.cfg /y e:\home\user\Grubshift\backup
copy e:\home\user\Grubshift\ubuntudefault\grub.cfg /y e:\boot\grub
shutdown /r /t 0

/y- copy命令选项,禁止提示您确认要覆盖现有目标文件

/r /t 0 -关闭选项,1。表示重新启动,2。表示立即,不弹出难看的消息

相应地修改路径!

  • 保存该文件(我使用过UTF-8)并将扩展名更改为 *.bat
  • 创建的桌面快捷方式shift.bat,右键单击shorctur->属性->快捷方式选项卡-> Run:minimized(这将消除CMD弹出)

我已经尝试了至少8次,将Windows设置为默认值,使用grub-customizer...

我并不是说这很安全,但是,嘿!

当它完全正常工作时,我们可以完全摆脱GRUB菜单,因为它将始终引导至正确的操作系统...


逻辑看起来不错,遗憾的是ext2fsd不完全支持ext4。
Dmitriy Berkutov 2015年

1
另外,如果脚本搞乱了(就像Windows会做的那样:),计算机将无法启动-不过还是个好主意。一个很好的例子是,如果Linux脚本在引导时运行,但是在引导和仅执行该脚本时计算机已关闭,则....
Wilf 2015年

0

这是我设置配置的方式:

概括起来:系统重启默认为上一次活动,使用简单的脚本从Windows重启到Linux,反之亦然。

将grub设置为始终引导最后一次选择:

在Linux下:

  • 进入GRUB_DEFAULT=savedGRUB_SAVEDEFAULT=true在/ etc /默认/蛴螬
  • 使用更新配置 sudo update-grub

安装Paragons extfs驱动程序

参见http://www.paragon-drivers.com/extfs-windows/

创建重启脚本:

如果/ boot / grub / grubenv不存在,请使用Germar答案进行创建

从Windows重新引导到Linux的批处理文件:

@echo off
"C:\Program Files (x86)\Paragon Software\ExtFS for Windows\extmounter" /mount disk1 L:

:CheckForFile
IF EXIST "L:\boot\grub\grubenv" GOTO FoundIt
GOTO CheckForFile
:FoundIt

sed -i -e '/next_entry/c\next_entry=0' L:/boot/grub/grubenv
"C:\Program Files (x86)\Paragon Software\ExtFS for Windows\extmounter" /umount disk1 L:
echo press enter to reboot
pause
shutdown -r -t 00
  • 替换/mount disk1 L:为特定于您系统的内容。您可以使用extmounter /list命令和驱动器号找到可用的磁盘。另外,L:一定不能已经服用。
  • 保存为例如 reboot-linux.bat
  • 您可以右键单击bat并选择run as administrator执行它

用于从Linux重启到Windows的Shell脚本:

sudo sed -i -e '/next_entry/c\next_entry=2' /boot/grub/grubenv
sudo reboot
  • next_entry=2用您的Windows项替换。
  • 将其保存为例如,~/reboot_windows并标记为可执行文件:chmod +x ~/reboot_windows
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.