关键的几步是:3、激活/dev/sdb2 ,这步很重要,如不激活,是引导不了的(在用cfdisk时就是有没有标志成boot)

                  5、格式化/dev/sdb2,建议格式化为ext2格式  (即建立文件系统)

                  8、安装grub到u盘上 (必须是超级用户 或者sudo)

目的:安装grub到u盘,用u盘来维护系统
条件:u盘支持usb-hdd启动就可以了
环境:archlinux200806  朗科(netac)U208简约型闪存盘(2G)

实现步骤:

1、启动archlinux,插入u盘,fdsik查看是否检测到u盘,这里的/dev/sdb就是刚插入的u盘

[root@vkill'host ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1           4       32098+  83  Linux
/dev/sda2               5         431     3429877+   5  Extended
/dev/sda5               5         369     2931831   83  Linux
/dev/sda6             370         431      497983+  82  Linux swap / Solaris

Disk /dev/sdb: 2004 MB, 2004877312 bytes
62 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Disk identifier: 0x6f20736b

Device Boot      Start         End      Blocks   Id  System

2、先给u盘分区,分区方案自己照自己情况,这里分区方案为2P+1E,以/dev/sdb2上安装grub为例
这里注意:第一个主分区建议分个fat32或者ntfs,作为日常windows下U盘使用

[root@vkill'host ~]# fdisk -l /dev/sdb                     (也可以使用cfdisk命令)

Disk /dev/sdb: 2004 MB, 2004877312 bytes
62 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Disk identifier: 0x6f20736b

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         407      782223    c  W95 FAT32 (LBA)
/dev/sdb2             408         424       32674   83  Linux
/dev/sdb4             425        1018     1141668    5  Extended

3、激活/dev/sdb2 ,这步很重要,如不激活,是引导不了的 (在用cfdisk时就是有没有标志成boot)

[root@vkill'host ~]# fdisk /dev/sdb
Command (m for help): a
Partition number (1-6): 2
Command (m for help): w
[root@vkill'host ~]#

4、查看/dev/sdb2是否激活,看到boot那列有个 * 就合适了

[root@vkill'host ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 2004 MB, 2004877312 bytes
62 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Disk identifier: 0x6f20736b

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         407      782223    c  W95 FAT32 (LBA)
/dev/sdb2   *         408         424       32674   83  Linux
/dev/sdb4             425        1018     1141668    5  Extended

[root@vkill'host ~]#

5、格式化/dev/sdb2,建议格式化为ext2格式

[root@vkill'host ~]# mkfs.ext2 /dev/sdb2

6、挂载/dev/sdb2

[root@vkill'host ~]# mkdir /media/test
[root@vkill'host ~]# mount /dev/sdb2 /media/test

7、现在先查看/media/test下是否有文件(做这步是为了和安装好grub做比较),可以看到还没有

[root@vkill'host ~]# ls /media/test
lost+found

8、安装grub到u盘上

[root@vkill'host ~]# grub-install --root-directory=/media/test/ --no-floppy /dev/sdb

9、再查看/media/test下是否有文件,可以看到多了很多文件,都是grub启动所需的必要文件

[root@vkill'host ~]# ls /media/test/
boot  lost+found
[root@vkill'host ~]# ls /media/test/boot/grub/
default        ffs_stage1_5      reiserfs_stage1_5  vstafs_stage1_5
device.map     iso9660_stage1_5  stage1             xfs_stage1_5
e2fs_stage1_5  jfs_stage1_5      stage2
fat_stage1_5   minix_stage1_5    ufs2_stage1_5

10、复制当前系统的menu.lst到u盘grub下

[root@vkill'host ~]# cp /boot/grub/menu.lst /media/test/boot/grub/

11、修改meun.lst,参照网上配置grub的教程修改
grub也可以启动maxdos等

[root@vkill'host ~]# vi /media/test/boot/grub/menu.lst

12、以grub shell来安装grub到MBR

[root@vkill'host ~]# grub
grub> root (hd1,1)
Filesystem type is ext2fs, partition type 0x83

grub> setup (hd1)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd1)"...  16 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd1) (hd1)1+16 p (hd1,1)/boot/grub/stage2
/boot/grub/menu.lst"... succeeded
Done.

grub> quit
[root@vkill'host ~]#

13、卸载u盘

[root@vkill'host ~]# umount /dev/sdb2

最新文章

  1. 【WCF全析(一)】--服务协定及消息模式
  2. Unity3d《Shader篇》变胖
  3. mysql基本内容学习过程
  4. JDK8新特性之接口
  5. IOS-NSDateFormatter使用介绍
  6. jquery1.11 操作checkbox:全选、取消全选、获取选择元素、获取取消选择元素(总结)
  7. openstack 源码分析
  8. Swift - 属性观察者(willSet与didSet)
  9. java基础:简单实现线程池
  10. java异常体系结构详解
  11. Openvswitch手册(6): QoS
  12. 利用shell简单监控网络设备的接口状态发出告警
  13. shell 判断目录是否存在
  14. UT源码_105032014033
  15. 控制对象的创建方式(禁止创建栈对象or堆对象)和创建的数量
  16. PHP延迟静态绑定(本文属于转发)
  17. nowcoder(牛客网)OI测试赛3 解题报告
  18. MongoDB整理笔记の安全访问
  19. Centos6.6安装mysql记录
  20. HYSBZ - 1799 self 同类分布

热门文章

  1. Linux 指令详解 alias 设置别名(转)
  2. Linux下设置和查看环境变量(转)
  3. python之函数用法iter()
  4. 媒体类型(MIME类型)
  5. Oracle-client支持exp|imp|rman
  6. free -m 内存
  7. cygwin完全安装步骤方法(组图)
  8. 【微信小程序】用户首次进入小程序拒绝授权,如何再次调用授权页面,获取用户信息userInfo
  9. 原创:微信小程序页面跳转展示缓冲提示
  10. HDUOJ---1712 ACboy needs your help