多系统引导 Grub
目录
1. 多系统引导程序
1.1 简介
1.2 Grub History
1.3 支持Windows系统下安装的grub版本
1.4多系统引导程序对比:
1.5 相关参考
1.5.1 Grub 2
1.5.2 GRUB Legacy
1.5.3 grub4dos
2. Grub的使用
2.1 启动菜单命令区别:
2.2 查找启动Windows
2.3 查找启动其他系统
2.4 指定启动Windows
2.5 指定启动iso镜像文件
3. 可用于移动存储的引导程序 SYSLINUX
3.1 syslinux介绍
3.2 syslinux的使用
4. 自动化工具
1. 多系统引导程序
1.1 简介
多系统引导程序, 就是可以引导启动多种操作系统的程序,主要用于不同系列的操作系统,比如Windows + Linux。早期比较著名的多系统引导程序是LILO,只要是比较旧的文档,或者书籍,讲到安装Linux系统都会提到LILO。不过当前的主流是GRUB2。
1.2 Grub History
https://www.gnu.org/software/grub/manual/legacy/grub.html#History
GNU GRUB是一个多重 引导加载程序。它源自GRAND统一引导程序 GRUB,最初由Erich Stefan Boleyn设计和实现。GRUB起源与1995年,1999年被收入GNU的官方软件包,2005年Grub V0.97版本成为该项目的最后一个版本,不再增加功能,只会修复必要的bug。官方重命名为grub-legacy。(Grub v0.97版就是Grub Legacy)。
GRUB 2诞生于2002年,重写了GRUB核心,使其更清洁,更安全,更强大,被命名为GRUB 2。现在大多数Linux都已更新到Grub 2,但Grub Legacy版本一样可以被选择安装使用。
- GRUB Legacy (Version: 0.97)
- GNU GRUB (Version: 2.02)
1.3 支持Windows系统下安装的grub版本
Windows系统下也发展出相应的版本。
- 源自Grub v0.97的GRUB4DOS; (文档教程很多)
- 源自Grub v2.02的Grub2win; (相关文档较少)
- 源自GRUB4DOS的NeoGrub;(NeoGrub是私有软件,随EasyBCD提供.)
1.4多系统引导程序对比:
如下只摘抄了一小部分,完整对比请看原文:https://en.wikipedia.org/wiki/Comparison_of_boot_loaders
1.5 相关参考
1.5.1 Grub 2
https://www.gnu.org/software/grub/
https://www.gnu.org/software/grub/manual/grub/grub.html
https://en.wikipedia.org/wiki/GNU_GRUB
http://linux-wiki.cn/wiki/zh-hans/Grub
http://linux-wiki.cn/wiki/Grub2配置
http://linux-wiki.cn/wiki/用Windows引导器启动Grub
http://linux-wiki.cn/wiki/修复被grub覆盖的ntfs分区引导扇区
https://wiki.archlinux.org/index.php/Dual_boot_with_Windows
https://wiki.archlinux.org/index.php/Multiboot_USB_drive
https://wiki.archlinux.org/index.php/GRUB
https://wiki.gentoo.org/wiki/GRUB2
https://wiki.gentoo.org/wiki/GRUB2/Chainloading
http://man.linuxde.net/grub
https://linux.cn/lfs/LFS-BOOK-7.7-systemd/chapter08/grub.html
http://www.linuxfromscratch.org/lfs/view/development/chapter08/grub.html
https://forum.ubuntu.org.cn/viewtopic.php?t=290405
grub2基础教程-修订版
1.5.2
GRUB Legacy
https://www.gnu.org/software/grub/grub-legacy.html
https://www.gnu.org/software/grub/manual/legacy/grub.html
https://zh.wikipedia.org/wiki/Grub4Dos
https://wiki.archlinux.org/index.php/GRUB_Legacy
1.5.3
grub4dos
https://zh.wikipedia.org/wiki/Grub4Dos
https://github.com/chenall/grub4dos/blob/master/README_GRUB4DOS_CN.txt
http://grub4dos.chenall.net/
http://grub4dos.chenall.net/downloads/grub4dos-0.4.6a-2019-03-25/
File: grub4dos-0.4.6a-2019-03-25.7z
520K
MD5
Checksum: 22524556e40baef1531e3cd473a7c922
Uploaded: Mon Mar 25
2019 10:29:25 GMT+0800
2.
Grub的使用
Grub Legacy 与
Grub 2在使用上的区别
grub2模块化的设计,使用img文件;不再使用grub中的stage1、stage1.5和stage2。
2.1
启动菜单命令区别:
2.2查找启动Windows
2.3 查找启动其他系统
2.4 指定启动Windows
2.5 指定启动iso镜像文件
引导iso文件 | GRUB Legacy | GNU GRUB |
Ubuntu | title Ubuntu18_LiveCD root (hd0,2) kernel (hd0,2)/ubuntu18/vmlinuz boot=casper iso-scan/filename=/ubuntu18/ubuntu-18.iso ro quiet splash locale=zh_CN.UTF-8 initrd (hd0,2)/ubuntu18/initrd |
menuentry "Ubuntu18_LiveCD" { set root=(hd0,3) linux /ubuntu18/vmlinuz boot=casper iso-scan/filename=/ubuntu18/ubuntu-18.iso ro quiet splash locale=zh_CN.UTF-8 initrd /ubuntu18/initrd } |
Mint | title Mint LiveCD root (hd0,2) kernel /mint191/vmlinuz boot=casper iso-scan/filename=/mint191/linuxmint-19.1-xfce-64bit.iso ro quiet splash locale=zh_CN.UTF-8 initrd /mint191/initrd.lz |
menuentry "Mint LiveCD" { set root=(hd0,3) linux /mint191/vmlinuz boot=casper iso-scan/filename=/mint191/linuxmint-19.1-xfce-64bit.iso ro quiet splash locale=zh_CN.UTF-8 initrd /mint191/initrd.lz } |
Arch | title Install Arch root (hd0,2) kernel /arch/vmlinuz archisolabel=ARCH_201903 initrd /arch/archiso.img |
menuentry "Install Arch" { set root=(hd0,3) linux /arch/vmlinuz archisolabel=ARCH_201903 initrd /arch/archiso.img } |
Manjaro | title Manjaro.xfce LiveCD root (hd0,2) kernel /manjaro/vmlinuz-x86_64 misolabel=M1803 boot=casper iso-scan/filename=/manjaro/manjaro-xfce-18.0.3-stable-x86_64.iso locale=zh_CN.UTF-8 initrd /manjaro/initramfs-x86_64.img |
menuentry "Manjaro.xfce LiveCD" { set root=(hd0,3) linux /manjaro/vmlinuz-x86_64 misolabel=M1803 boot=casper iso-scan/filename=/manjaro/manjaro-xfce-18.0.3-stable-x86_64.iso locale=zh_CN.UTF-8 initrd /manjaro/initramfs-x86_64.img } |
3.
可用于移动存储的引导程序
SYSLINUX
3.1
syslinux介绍
https://en.wikipedia.org/wiki/SYSLINUX
https://wiki.archlinux.org/index.php/Syslinux
https://en.wikipedia.org/wiki/SYSLINUX
该SYSLINUX项目是一套轻量级的主引导记录(MBR),引导装载程序用于启动IBM
PC兼容
的计算机与Linux内核。SYSLINUX捆绑包主要由H.
Peter Anvin开发,包含几个用于不同目的的独立系统,包括ISOLINUX,PXELINUX和EXTLINUX。
- 原始的SYSLINUX,用于从FAT和NTFS文件系统(如软盘和USB驱动器)启动。
- ISOLINUX,用于从CD-ROM
ISO 9660文件系统启动。 - PXELINUX,用于使用预引导执行环境(PXE)系统从网络服务器引导。
- EXTLINUX,用于从Linux
ext2 / ext3 / ext4,XFS,Btrfs或UFS
/ UFS2文件系统启动。还支持FAT和NTFS。 - MEMDISK,用于从这些媒体启动较旧的操作系统,如MS-DOS。
3.2
syslinux的使用
由于Linux通常不安装在FAT文件系统上,因此SYSLINUX通常不用于引导完整的Linux安装。
相反,它通常用于启动或救援软盘,实时USB或其他轻量级启动系统。ISOLINUX通常由Linux
live CD和可引导安装CD使用。
比如在Windows下使用rufus(目前最新版本3.5)软件制作USB启动U盘(将Linux
live CD镜像文件写入U盘),就会自动搜索下载匹配的最新syslinux文件:
(~/rufus_files/syslinux-6.04/ldlinux.bss
ldlinux.sys)
https://rufus.ie/
https://github.com/pbatard/rufus/issues/487
https://rufus.ie/files/syslinux-6.04/ldlinux.bss
https://rufus.ie/files/syslinux-6.04/ldlinux.sys
4.
自动化工具
liveusb-builder -
为GNU
/ Linux发行版创建多引导USB记忆棒的脚本套件
https://github.com/mytbk/liveusb-builder
|| liveusb-builder-git AUR
MultiSystem -
一种图形工具,允许在USB设备上安装,管理和删除多个ISO映像。
http://liveusb.info/dotclear/
|| 多系统AUR
MultiBootUSB -
具有CLI和GUI界面的跨平台Python软件,允许您在USB记忆棒上安装和删除多个实时Linux映像。
http://multibootusb.org/
|| multibootusb AUR
https://help.ubuntu.com/community/Grub2/ISOBoot
Ubuntu ISO旨在允许使用GRUB
2直接从硬盘驱动器启动,无需刻录CD
/ DVD。
此功能允许用户启动和使用Ubuntu安装CD的“Try
Ubuntu”功能,以及直接从硬盘驱动器上的ISO安装Ubuntu。
除了Ubuntu
ISO之外,许多其他Linux发行版以及流行的救援
CD都可以直接从ISO文件启动。
grub2基础教程-修订版
多系统引导 Grub的更多相关文章
- 系统引导器GRUB
系统引导器GRUB 理解/boot/grub/grub.conf 1 # grub.conf generated by anaconda 2 # 3 # Note that you do not ha ...
- 安装grub到U盘分区,实现多系统引导
目录 1.分区工具及分区类型 1.1 显示分区表和分区信息 1.1.1 fdisk -l 1.1.2 gdisk -l 1.1.3 parted -l 1.2 常见分区类型 1.3 分区样例 1.3. ...
- windows重装系统后grub引导菜单修复方法(亲自实验过)
问题: 电脑安装的是windows7+ubuntu 15.10双系统.windows重装后,grub引导界面消失. 解决方法有两大步: 1.进入ubuntu; 2.在ubuntu中修复grub. 一. ...
- Linunx系统引导过程及MBR/GRUB故障
Linunx系统引导过程 系统初始化进程 init进程 Systemd Systemd单元类型 允许级别所对应的systemd目标 修复MBR扇区故障 解决思路 操作 修复GRUB引导故障 解决思路 ...
- Win7&Ubuntu12.04 双系统引导问题
周末的时候手贱,重装系统,导致原来的ubuntu12.04和win7双系统的引导不见了,所以在此进行一下说明,如何修复. 1. win7和ubuntu12.04双系统引导修复 问题描述: 在重装 ...
- Linux操作系统奥秘02-系统引导(GRUB)
GRUB的加载流程 GRUB是GNU的一款多重引导软件.GRUB包含了3个重要的文件:stage1 ,e2fsstage1_5,stage2.这三个文件分别代表了GRUB运行的3个阶段. 1.stag ...
- 轻松解决ubuntu系统引导问题
什么是ppa PPA,表示 Personal Package Archives,也就是个人软件包集. 有很多软件因为种种原因,不能进入官方的 Ubuntu 软件仓库. 为了方便 Ubuntu 用户使用 ...
- CentOS7与Win7双系统引导问题
先安装的Win7,后安装的CentOS7,结果系统引导就只有CentOS7了.记得以前CentOS6.x系列没这个问题,主要是由于CentOS7.x使用grub2的原因吧. 方案一:使用Win PE. ...
- 9.Linux系统引导流程
一.Linux系统引导流程 当我们按下主机电源键的那时候开始,主板上的CMOS/BIOS模块将进行固件自检,以此检查各个硬件是否正确连接. 在Linux引导流程中,一般可以分为以下几个主要过程: 1. ...
随机推荐
- python threading模块中的join()方法和setDeamon()方法的一些理解
之前用多线程的时候看见了很多文章,比较常用的大概就是join()和setDeamon()了. 先说一下自己对join()的理解吧: def join(self, timeout=None): &quo ...
- php实现遍历目录
用递归方法实现目录的遍历: <?php header("Content-type: text/html; charset=utf-8"); date_default_time ...
- python-原始字符串,长字符串
一 长字符串 在python中要表示跨行多行的字符串,可以使用较为简单粗暴的表达-----三引号.例如: str = ”’那时我们有梦, 关于文学, 关于爱情, 关于穿越世界的旅行. 如今我们深夜饮 ...
- log4j的简介和使用
一.log4j是什么 引用官网的介绍 Log4j is a fast and flexible framework for logging application debugging messages ...
- Linux安装软件、python开发环境
软件安装与卸载 更新Ubuntu软件下载地址 1. 寻找国内镜像源 所谓的镜像源:可以理解为提供下载软件的地方,比如Android手机上可以下载软件的91手机助手:iOS手机上可以下载软件的AppSt ...
- vscode里使用.vue代码模板的方法
1.设置.vue模板 打开编辑器,点击文件 —— 首选项 —— 用户代码片段,会弹出来一个输入框. 在输入框输入vue,回车,会打开一个vue.json文件. 在里面复制以下代码: { "P ...
- Redis高可用方案----Redis主从+Sentinel+Haproxy
安装环境 这里使用三台服务器,每台服务器上开启一个redis-server和redis-sentinel服务,redis-server端口为6379,redis-sentinel的端口为26379. ...
- Displaylink安卓驱动
Displaylink安卓驱动 2019年最新版V2.3.1
- 在eclipse上集成安装阿里巴巴代码规约P3C插件
在eclipse上集成安装阿里巴巴代码规约P3C插件 参照网址: https://jingyan.baidu.com/article/2d5afd6923e78b85a3e28e5e.html 首先进 ...
- 关于SpringCloud的微服务架构,提示502 Bad Gateway nginx/1.10.0
1.具体环境是使用虚拟机,并在虚拟机上安装nginx对本机上的端口服务进行反向代理 我按照步骤一步步搭建完环境以后,第一次使用是可以正常使用的,当我关闭计算机后,再一次启动环境,就会发现输入网址之后网 ...