做个grub的U盘启动盘,即将grub安装到U盘上面。
制作步骤:
先用cfdisk 在U盘中,创建个两个分区,第二个一会儿作为boot分区。
0:mkfs.ext3 /dev/sdc5
1:mount /dev/sdc5 /tmp/boot
2:grub-install --root-directory=/tmp/boot --no-floppy /dev/sdc(*注意*)
自己修改一下menu.lst文件吧。这个简单。
****************************************************************************
以上全部推翻重写。需要懂得理论上的知识,才能做出正确的结果。
****************************************************************************
(下面一段话为我解释了多系统启动的流程)
首先理解引导中U盘引导部分的过程。
1:当BISO通电引导到磁盘时,会检查MBR区域(MBR:446+DPT:64+ENDFLAG:2=512)
MBR里面必须存在引导程序,通常会是我们熟悉grub,dos,95dos引导等。否则无法引导。
这里做个简要说明:平常我们将系统安装硬盘上,通常安装都是安装windows,再安装linux,而通常当安装linux时,会提示你是否安装到MBR里面,或者安装到你的某个磁盘分区里面,通常是你的/boot的所在分区。
安装在MBR,或者某个磁盘分区。这2者之间存在差别。
a:当安装到MBR时,会将已经存在的Win自己在MBR的引导程序替代,变成GRUB引导。
b:当安装到某个分区时,会由存在的Win的引导程序,引导到那个分区的Grub,再有Grub引导到各个操作系统。
这就是2者的差别。win没有为其他系统考虑过,到了自己的磁盘分区之后,对于引导其它系统,没有提供可以直接引导的命令,只能进入后修改它的boot.ini文件。而grub提供命令命令菜单,可以进行手工引导。
2:grub的制作
笔者发现win只能自动识别出U盘的第一个分区,而对于第二个分区无动于衷。
所以做了这样的分区方案。第一个分区用来存储数据,第二个分区用来放置引导信息,这样不至于在使用过程中,自己创建的grub的boot分区,被别人勿删除,或者格式化。
我的1G U盘分区如下:
/dev/sdc1 950M ntfs 用于平时的数据存储
/dev/sdc5 60M ext3 (boot标识,可以引导启动,用cfdisk时,很容易修改。) 用于存储引导文件。
执行命令
mount /dev/sdc5 /tmp/boot
grub-install --root-directory=/tmp/boot --no-floppy /dev/sdc
此处脚下留神,必须讲grub安装到/dev/sdc,否则目前对于U盘的MBR来讲,没有可以用的引导程序。
此命令执行后,会在/tmp/boot/目录,也就是/dev/sdc5,下面产生目录/boot/grub.里面有*stage*等文件。
最后在/boot/grub 目录中建立menu.lst文件。文件内容如下:
timeout 20
default 0
title windows xp
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
makeactive
chainloader +1
讲一下,如果你用U盘引导后,他会把自己标记为hd0。而已经安装在硬盘上的win操作系统认为自己的宿主硬盘是hd0,此时引导win操作系统时就会造成盘符错位。因此我们需要用map进行一下映射转换。
map 的解释及使用如下:
map TO_DRIVE FROM_DRIVE
映射 驱动器FROM_DRIVE 到TO_DRIVE.
当你链式引导向dos一样的操作系统,并且该系统没有在第一个驱动器上时,必须进行该映射。
that's Ok!
****************************************************************************
随着我的使用的愈加频繁,menu.lst上面的内容多了起来。
****************************************************************************
下面分享一下,里面的内容。首先是目录结构。
root@kook:~# fdisk -l /dev/sdb
Disk /dev/sdb: 1010 MB, 1010826752 bytes
32 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 1952 * 512 = 999424 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 951 928145+ 6 FAT16
/dev/sdb2 * 952 1011 58560 83 Linux
root@kook:~# mount /dev/sdb2 /tmp/boot/
root@kook:~# tree -d /tmp/boot
/tmp/boot
|-- boot
| `-- grub
|-- centos4.4
|-- centos4.4-64
|-- lost+found
`-- ubuntu704
6 directories
下面是menu.lst的内容。
root@kook:~# cat /tmp/boot/boot/grub/menu.lst
color light-gray/blue
timeout 20
default 0
title Windows 95/98/NT/2000
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
makeactive
chainloader +1
title CentOS 4.4 x86_64 Net Install
root (hd0,1)
kernel /centos4.4-64/vmlinuz root=/dev/hda2 ro single
initrd /centos4.4-64/initrd.img
boot
title CentOS 4.4 i386 Net Install
root (hd0,1)
kernel /centos4.4/vmlinuz root=/dev/hda2 ro single
initrd /centos4.4/initrd.img
boot
title Ubuntu 7.04 AMD 64 Net Install
root (hd0,1)
kernel /ubuntu704/linux root=/dev/hda2 ro single
initrd /ubuntu704/initrd.gz
boot
注意:
1:成功的关键是MBR的内容。可以用dd if=/dev/sdc of=/tmp/mbr.bin bs=446 count=1 提取 出。hexdump -C /tmp/mbr.bin 查看
2:有时候MBR会有问题。用这个命令清零吧。
dd if=/dev/zero of=/dev/sdc bs=446 count=1
做个grub的U盘启动盘,即将grub安装到U盘上面。相关推荐
- ventory做U盘启动,使用vmware进行测试U盘系统盘是否制作成功
ventory制作U盘启动,使用vmware进行测试U盘系统盘是否制作成功 ventory制作U盘启动盘 这里之简单说下windows下的制作过程,首先附上ventory的官网地址:https://w ...
- 通过u盘启动计算机使用ghost安装系统步骤,天意u盘启动工具通过u盘启动计算机使用ghost安装系统步骤...
天意u盘启动工具通过u盘启动计算机使用ghost安装系统步骤.u盘制作成启动盘后就能引导电脑启动,就比如系统安装盘一样,当电脑系统损坏需要重新安装系统时,没有光驱就可以使用u盘启动盘来安装,u盘做成启 ...
- easyuefi只能在基于uefi启动的_苹果电脑怎么从u盘启动|苹果笔记本按哪个键选u盘启动...
苹果电脑要从U盘启动是按住哪个键?苹果mac电脑和普通的PC电脑不一样,普通pc电脑有bios可以设置U盘启动,苹果电脑没有bios,只能通过快捷键来选择U盘启动.刚接触苹果电脑的用户不清楚苹果电脑怎 ...
- 3650m5设置u盘启动_联想启天M415设置u盘启动步骤(支持uefi/bios双启动)
[文章导读]有很多网友问联想启天M415怎么设置U盘启动呢,刚买来联想启天M415台式机重装系统发现找不到我制作好的U盘启动,联想2016年后出来的台式机默认都是uefi引导的,有些U盘启动制作工具只 ...
- 计算机硬盘启动改u为盘启动不了,电脑店超级U盘启动盘制作工具V7.0(王者归来)...
电脑店 启动盘 电脑店U盘装系统7.0视频教程: 系统备份和还原视频教程: 在线版MD5:185C63B073BBE7B578B59986460A1775 完整版MD5:1DE83656BFA5A8A ...
- 华硕设置u盘启动linux,华硕主板怎么设置u盘启动_利用它的快捷键就可以了 - 驱动管家...
华硕主板怎么设置U盘启动?不少网友都有这样的疑惑,全因新一代UEFI BIOS界面的出现和原本的BIOS非常不一样,若是没有设置为中文界面,又没有英文基础,就很难辨识,具体操作方法请看下文. 华硕主板 ...
- 计算机u盘启动会改变c盘吗,电脑重装系统时 我已经用U盘启动把系统备份在了C盘,但是重新启动电脑时无法自行安装系统,可有解法...
电脑重装系统时 我已经用U盘启动把系统备份在了C盘,但是重新启动电脑时无法自行安装系统,可有解法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我 ...
- 技嘉 linux设置u盘启动项,技嘉主板bios如何设置u盘启动丨技嘉主板bios设置u盘启动图解...
[文章导读]对于电脑的配件来说技嘉主板,是一款比较常见的电脑配件,很多电脑都是使用这款主板,那么你知道技嘉主板bios如何设置u盘启动?为此电脑系统城为你带来一个详细的技嘉主板bios设置u盘启动方法 ...
- grub命令 u盘安装linux,Linux实现U盘启动(1.GRUB安装U盘)
GRUB是什么 简单的说,GRUB 是系统的启动引导程序.我们要启动系统时,需要通过BIOS启动硬盘0扇区的程序引导启动系统内核.从早期的 MBR到如今的UEFI启动类型和GUID分区表 (GPT) ...
- u盘启动linux出现grub,通过U盘为Ubuntu更新GRUB恢复系统引导的教程
工作需要更换主板,但是不想重装电脑. 怎么办呢? 其实并不需要重装电脑,只需要回复boot menu即可. 1. 首先用u盘制作一个ubuntu的live CD(就是U盘制作为装系统的USBHDD+模 ...
最新文章
- antd 验证 动态 required_3分钟短文:十年窖藏,Laravel告诉你表单验证的正确姿势
- poj3068(最小费用流)
- 前端基础(一):js数据类型
- 【网络收集】order by 自定义排序
- 工作209:整理订单的重置逻辑
- 【报告分享】清华大学126页PPT:2020-2021年元宇宙发展研究报告.pdf(附下载链接)...
- Android NDK开发之 arm_neon.h文件ABI说明
- Apache Spark源码走读(十)ShuffleMapTask计算结果的保存与读取 WEB UI和Metrics初始化及数据更新过程分析...
- input el-input 打印是取不到值 print()
- c语言编程运动会分数统计系统报告,C语言课程设计报告运动会分数统计系统.pdf...
- 植物大战僵尸 php,植物大战僵尸Online
- 【FFmpeg4.1.4 编码】h265编码
- 3Dmax2014安装问题
- 520送男朋友什么礼物比较好、520给男朋友的实用性礼物
- 信奥题库(OI题库)8月月赛T1题解 幂次数
- jquery --为当前 li下的a 添加样式
- 如何做述职报告/职级跃阶报告
- 微生物组项目设计四:生物学重复及样本信息收集
- Apache端口占用解决办法
- java 解析hiveserver2日志 解析HiveSQL 获取表的使用次数 热度
热门文章
- Android 中光线传感器的使用详解
- Python爬虫:抓取js生成的数据
- 小程序用户反馈-HotApp小程序统计仿微信聊天用户反馈组件...
- 求教吉他继续提高的方法
- 神念TGAM模块+树莓派GPIO控制灯泡(脑电波控制物联网应用示例)
- 百度AI接口测试案列一:车牌识别
- Android UI自动化工具-SoloPi
- 【传统CV】Anovel adaptive morphological approach for degraded character image segmentation
- 北京化工大学2018年10月程序设计竞赛 F. 罗dalao的密码(递归)
- 解决Linux MySQL报错ERROR 2002 (HY000)