U盘Linux的制作

1 大纲

懒人就看看这个大纲即可:

  • U盘物理上必须可以boot, 这涉及到改该盘的flag: boot,lba
  • 分区,无论是fat32还是ext3都行。
  • 写U盘的MBR
  • 拷文件:从一个能启动的Linux,一般来说是一个bootable CD,拷到U盘。当然,要用cp -af保证文件属性不变。
  • 微调文件位置。有些基于CD的distro的文件布局可能要稍微调整一下。
  • 装一个bootloader。比如说最简单的syslinux, 当然grub也可以。

以下例子假定使用root user。

2 下载一个Linux bootable CD

以下假设这个文件叫做boot-cd.iso.

3 准备你的U盘

以下假设你的U盘设备名是/dev/sdb, 上头有一个fat32分区叫做/dev/sdb1.

3.1 Disk flag

用gparted/cfdisk之类的工具,反正make sure /dev/sdb的flag是:boot, lba

3.2 分区

假设还没分好区:

mkfs.vfat -F 32 -n Linux /dev/sdb1

3.3 MBR

Ubuntu:

dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdb

其他linux distribution: 可能mbr.bin的位置不同。
locate mbr.bin,找到这个文件即可。

sync一下,确保真的写到U盘了:

sync

4 拷文件过去

4.1 mount iso文件和U盘

mount -o loop /path/to/boot-cd.iso /mnt/temp
mount /dev/sdb1 /mnt/usb

4.2 复制文件

cp -af /mnt/temp/* /mnt/usbstick/

4.3 微调一下一些文件的位置

这一步每个distro都多少有些不同。最好google一下再说。这里用systemrescuecd作为一个例子:

rm -rf /mnt/usbstick/syslinux
mv /mnt/usbstick/isolinux/isolinux.cfg /mnt/usbstick/isolinux/syslinux.cfg
mv /mnt/usbstick/isolinux /mnt/usbstick/syslinux

5 在fat32分区上装syslinux bootloader

umount /mnt/usbstick
syslinux /dev/sdf1

最后sync一下再拔出U盘:

sync

6 调BIOS的启动排序

看你要启动的电脑的设置了。

Author: qiuxing

Date: 2009-09-12 23:14:03 EDT

HTML generated by org-mode 6.30c in emacs 23

  1. 发表评论

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: