利用grub2.0/grub4dos实现双硬盘双(多)系统
来源:互联网 发布:php url encode 在线 编辑:程序博客网 时间:2024/06/04 17:48
前奏
背景
老式(联想Y460,2011年)的电脑了,想加一个固态硬盘,并把光驱位改造一下让它能放磁盘。
这里将称呼原来的磁盘位为“主盘”,光驱位置的磁盘称为“副盘”。
需求
- 主盘是Windows,副盘是Linux
- 主盘是Windows,副盘是Windows
主盘是Linux,副盘是Windows
这种情况下比较简单,因为Ubuntu平台有个强大的grub图形界面工具,叫做grub-customizer,它可以自动检测多硬盘中的启动分区,通过鼠标点点点就一键搞定。后面详述。
原理
如果从bios启动说起的话,BIOS去加载bootloader,bootloader去加载操作系统,那么bootloader是怎么找到操作系统的呢?经过一些流程后,它会去找grub;然后通过grub提供的信息,再经过一些流程,就找到了操作系统,加载到内存启动。因此重点就是在这个grub上。
上一张示意图,依次是主盘和次盘
磁盘(主盘or副盘)的第一个扇区叫做
主引导记录
,每个分区的第一个扇区叫做分区引导记录
基本原理:
BIOS/bootloader等经过一系列过程,找到主盘的grub4dos,然后主盘的grub4dos去找要加载的操作系统所在分区的分区引导记录。因此,通过控制grub4dos到底是去找主盘的启动分区,还是副盘的启动分区,就可以实现双硬盘双系统的启动了。
其实,grub4dos、bootmgr、grub2.0等等,这些东西,就是一个程序而已
工具
bootice
作用: 将主盘的主引导记录设置为grub4dos(需要结合grldr.mbr)
grub4dos(两个配置文件)
grldr
直接拷贝到启动分区比如C盘根目录下
grldr.mbr(和bootice配合)
menu.list
编辑修改后,拷贝到启动分区比如C盘根目录下
步骤
回顾一下前面提高的需求,这里一个一个来实现:
- 主盘是Windows,副盘是Linux
- 主盘是Windows,副盘是Windows
- 主盘是Linux,副盘是Windows
主windows,副Linux
未完待续
主windows,副windows
未完待续
主Linux,副windows
安装
grub-customizer
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
使用
如图,“列表配置”中,它会自动检测的哦。按我这个图为例,如果把win10干掉,换别的系统进来,它也能自动检测出来。然后点击左上角的“
save
”(它会自动去更新grub2.0的)。用起来是不是很无脑!!!是不是很好用!!!在此感谢此软件作者。
- 利用grub2.0/grub4dos实现双硬盘双(多)系统
- GRUB, GRUB2 and GRUB4DOS
- grub2 双硬盘启动
- Grub2引导Grub4dos菜单写法
- //双硬盘多系统引导深入探究
- 【grub2】制作UEFI版本Grub2引导多系统
- Linux系统下双硬盘多系统引导深入探究
- 关于多系统的双硬盘的系统安装
- 使用grub4dos引导程序启动多个系统
- 双硬盘多系统独立引导(2-Windows xp & Win7)
- 配置Grub2实现串口终端控制Linux系统
- 安装双硬盘系统(完整)
- windosxp系统双硬盘安装使用
- GRUB4DOS
- grub4dos
- grub4dos
- GRUB2引导linux系统
- grub2无法启动系统
- Git - 在本次commit上再次修改
- android 中处理崩溃异常并重启程序出现页面重叠的问题
- 修改tomcat端口号
- anaconda安装报错解决
- struts2总结
- 利用grub2.0/grub4dos实现双硬盘双(多)系统
- java webstruct2 学习
- android复习路之fragment篇
- tornado学习笔记(一):如何给ioloop.run_sync()中调用的函数传入参数
- Servlet工作原理和生命周期
- 数据结构 (二)
- Nginx 高并发TCP请求Linux系统参数配置
- 前后端分离,是为了彼此更好
- Android高级之十三讲-HotFix、热加载和增量更新