制作步骤:

先用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盘上面。相关推荐

  1. ventory做U盘启动,使用vmware进行测试U盘系统盘是否制作成功

    ventory制作U盘启动,使用vmware进行测试U盘系统盘是否制作成功 ventory制作U盘启动盘 这里之简单说下windows下的制作过程,首先附上ventory的官网地址:https://w ...

  2. 通过u盘启动计算机使用ghost安装系统步骤,天意u盘启动工具通过u盘启动计算机使用ghost安装系统步骤...

    天意u盘启动工具通过u盘启动计算机使用ghost安装系统步骤.u盘制作成启动盘后就能引导电脑启动,就比如系统安装盘一样,当电脑系统损坏需要重新安装系统时,没有光驱就可以使用u盘启动盘来安装,u盘做成启 ...

  3. easyuefi只能在基于uefi启动的_苹果电脑怎么从u盘启动|苹果笔记本按哪个键选u盘启动...

    苹果电脑要从U盘启动是按住哪个键?苹果mac电脑和普通的PC电脑不一样,普通pc电脑有bios可以设置U盘启动,苹果电脑没有bios,只能通过快捷键来选择U盘启动.刚接触苹果电脑的用户不清楚苹果电脑怎 ...

  4. 3650m5设置u盘启动_联想启天M415设置u盘启动步骤(支持uefi/bios双启动)

    [文章导读]有很多网友问联想启天M415怎么设置U盘启动呢,刚买来联想启天M415台式机重装系统发现找不到我制作好的U盘启动,联想2016年后出来的台式机默认都是uefi引导的,有些U盘启动制作工具只 ...

  5. 计算机硬盘启动改u为盘启动不了,电脑店超级U盘启动盘制作工具V7.0(王者归来)...

    电脑店 启动盘 电脑店U盘装系统7.0视频教程: 系统备份和还原视频教程: 在线版MD5:185C63B073BBE7B578B59986460A1775 完整版MD5:1DE83656BFA5A8A ...

  6. 华硕设置u盘启动linux,华硕主板怎么设置u盘启动_利用它的快捷键就可以了 - 驱动管家...

    华硕主板怎么设置U盘启动?不少网友都有这样的疑惑,全因新一代UEFI BIOS界面的出现和原本的BIOS非常不一样,若是没有设置为中文界面,又没有英文基础,就很难辨识,具体操作方法请看下文. 华硕主板 ...

  7. 计算机u盘启动会改变c盘吗,电脑重装系统时 我已经用U盘启动把系统备份在了C盘,但是重新启动电脑时无法自行安装系统,可有解法...

    电脑重装系统时 我已经用U盘启动把系统备份在了C盘,但是重新启动电脑时无法自行安装系统,可有解法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我 ...

  8. 技嘉 linux设置u盘启动项,技嘉主板bios如何设置u盘启动丨技嘉主板bios设置u盘启动图解...

    [文章导读]对于电脑的配件来说技嘉主板,是一款比较常见的电脑配件,很多电脑都是使用这款主板,那么你知道技嘉主板bios如何设置u盘启动?为此电脑系统城为你带来一个详细的技嘉主板bios设置u盘启动方法 ...

  9. grub命令 u盘安装linux,Linux实现U盘启动(1.GRUB安装U盘)

    GRUB是什么 简单的说,GRUB 是系统的启动引导程序.我们要启动系统时,需要通过BIOS启动硬盘0扇区的程序引导启动系统内核.从早期的 MBR到如今的UEFI启动类型和GUID分区表 (GPT) ...

  10. u盘启动linux出现grub,通过U盘为Ubuntu更新GRUB恢复系统引导的教程

    工作需要更换主板,但是不想重装电脑. 怎么办呢? 其实并不需要重装电脑,只需要回复boot menu即可. 1. 首先用u盘制作一个ubuntu的live CD(就是U盘制作为装系统的USBHDD+模 ...

最新文章

  1. antd 验证 动态 required_3分钟短文:十年窖藏,Laravel告诉你表单验证的正确姿势
  2. poj3068(最小费用流)
  3. 前端基础(一):js数据类型
  4. 【网络收集】order by 自定义排序
  5. 工作209:整理订单的重置逻辑
  6. 【报告分享】清华大学126页PPT:2020-2021年元宇宙发展研究报告.pdf(附下载链接)...
  7. Android NDK开发之 arm_neon.h文件ABI说明
  8. Apache Spark源码走读(十)ShuffleMapTask计算结果的保存与读取 WEB UI和Metrics初始化及数据更新过程分析...
  9. input el-input 打印是取不到值 print()
  10. c语言编程运动会分数统计系统报告,C语言课程设计报告运动会分数统计系统.pdf...
  11. 植物大战僵尸 php,植物大战僵尸Online
  12. 【FFmpeg4.1.4 编码】h265编码
  13. 3Dmax2014安装问题
  14. 520送男朋友什么礼物比较好、520给男朋友的实用性礼物
  15. 信奥题库(OI题库)8月月赛T1题解 幂次数
  16. jquery --为当前 li下的a 添加样式
  17. 如何做述职报告/职级跃阶报告
  18. 微生物组项目设计四:生物学重复及样本信息收集
  19. Apache端口占用解决办法
  20. java 解析hiveserver2日志 解析HiveSQL 获取表的使用次数 热度

热门文章

  1. Android 中光线传感器的使用详解
  2. Python爬虫:抓取js生成的数据
  3. 小程序用户反馈-HotApp小程序统计仿微信聊天用户反馈组件...
  4. 求教吉他继续提高的方法
  5. 神念TGAM模块+树莓派GPIO控制灯泡(脑电波控制物联网应用示例)
  6. 百度AI接口测试案列一:车牌识别
  7. Android UI自动化工具-SoloPi
  8. 【传统CV】Anovel adaptive morphological approach for degraded character image segmentation
  9. 北京化工大学2018年10月程序设计竞赛 F. 罗dalao的密码(递归)
  10. 解决Linux MySQL报错ERROR 2002 (HY000)