Search This Blog

2013-11-16

在GNU/Linux制作启动U盘

以前是在Windows7上用UltraISO制作的启动U盘,换到openSUSE之后准备试试新的方法,试过两种方法。

1,先试了dd命令,写进去一个openSUSE-12.3-Rescue-CD-x86_64.iso。U盘可以引导启动,但是,在U盘新建个目录或文件,系统就会提示"Read-only file system"。这是因为U盘上用的是ISO文件系统,这是只读文件系统,虽然从显示的文件权限来看是可写的。

2,在http://en.opensuse.org/SDB:Live_USB_stick#Put_ISO_on_vfat_partitioned_USB_stick_or_hard_disk看到一个好工具:live-fat-stick

好处:
  • 制作完成的启动U盘还可以当做普通U盘使用。
  • 制作过程当中,不会格式化U盘,也不会删除U盘上的数据。
  • 目前支持制作SUSE,Ubuntu,Mint,Fedora启动U盘。
  • 支持多系统启动选项。
  • 对于支持从iso镜像启动的系统,比如openSUSE,U盘上会直接放iso镜像文件。

限制:
  • 适用于openSUSE 12.2及以上版本的iso镜像。
  • U盘分区必须是vfat/fat32格式。由于fat32分区对文件大小的限制,DVD形式的iso文件不能用(删除掉一部分不用的安装包,把大小控制在4GB以内应该没问题)。

使用步骤:
  • 在http://software.opensuse.org/package/live-fat-stick下载安装live-fat-stick;有个界面工具http://software.opensuse.org/package/live-usb-gui,我没试用过。
  • "sudo zypper in syslinux gpart",安装syslinux跟gpart
  • "su -",切换到root账户
  • "live-fat-stick -l",找出U盘分区/dev/sdXY
  • "live-fat-stick --suse /path/to/openSUSE-filename.iso /dev/sdXY",开始制作启动U盘

下面是在我电脑上运行的输出:
Pre[-]
localhost:~ # live-fat-stick --suse /home/u1/software_os/openSUSE-12.3-Rescue-CD-x86_64.iso /dev/sdb4
Please make sure the following information is correct:
iso name: openSUSE-12.3-Rescue-CD-x86_64.iso distro: suse stick device: /dev/sdb
stick uuid: /dev/disk/by-uuid/2CA8-3045 stick partition: 4
installing syslinux on /dev/sdb4
replacing mbr of /dev/sdb with syslinux mbr.bin
setting /dev/sdb partition 4 active
copying kernel and initrd from iso image to /dev/sdb4
creating menu entries
copying openSUSE-12.3-Rescue-CD-x86_64.iso to usb stick
sending incremental file list
openSUSE-12.3-Rescue-CD-x86_64.iso
   587202560 100%   65.25MB/s    0:00:08 (xfer#1, to-check=0/1)
sent 587274357 bytes  received 31 bytes  61818356.63 bytes/sec
total size is 587202560  speedup is 1.00
cleaning up
Your bootable usb stick is now ready
have a lot of fun...
通过上面的输出可以大概了解整个过程。另外,/usr/bin/live-fat-stick是Bash脚本,可以打开看看。

其他Linux也可以使用这个工具,在https://github.com/cyberorg/live-fat-stick下载Bash脚本。

=文章版本=

20131102
20131116

No comments:

Post a Comment