GRUB安装到U盘,这样在电脑上的linux系统引导出错的时候,就可以用U盘直接引导linux系统启动了
关键的几步是: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
如果失败的话,在install后面加上--force参数,就可以了
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: [root@vkill'host ~]#grub-mkconfig -o /media/test/boot/grub/grub.cfg
这样电脑的grub配置文件就更新到了U盘,当系统引导出错(比如安装了windows系统,导致无法引导linux系统)时,就可以用U盘来引导了!
出处:http://hi.baidu.com/leeagle/item/6d022afc64bf7f5ec8f33743