LiveUSB

(Redirected from Live USB stick)
Jump to: navigation, search
Geeko 本页面介绍如何制作可引导的 U 盘系统,也就是通常所说的 LiveUSB.


openSUSE 11.2

从 openSUSE 11.2 Milestone 7 开始, LiveCD iso 镜像同样可以用来制作 LiveUSB。再也不需要 #openSUSE 11.1 及之前版本 段落所描述的复杂步骤了。

方法一 在 Linux 下操作

Factory Live CD 下载您选择的 Live CD 镜像文件,请确保您下载的文件是 build218 或更新的版本,然后

按照以下步骤进行操作:

1) 插入您的 U 盘,然后按如下命令来查找您的 U 盘在系统里的识别方式:

# ls -l /dev/disk/by-id/*usb*

该命令将会输出如下结果:

lrwxrwxrwx 1 root root  9 2010-03-05 18:22 /dev/disk/by-id/usb-SanDisk_Cruzer_Colors+_4527710EBF819BC0-0:0 -> ../../sdX
lrwxrwxrwx 1 root root 10 2010-03-05 18:22 /dev/disk/by-id/usb-SanDisk_Cruzer_Colors+_4527710EBF819BC0-0:0-part1 -> ../../sdX1

在此 /dev/sdX 是命令行中的简称,通常直接使用 /dev/disk/by-id/.. 以防止写错硬盘导致数据丢失。

2) 先卸载您已经挂载上的 U 盘,将 LiveCD iso 写入 U 盘, 请注意将这里举例的 /dev/sdX 用您自己的具体硬盘设备代替(上面命令输出的设备信息):

# umount /dev/sdX
# dd if=/path/to/iso/openSUSE-11.2-KDE4-LiveCD-i686.iso of=/dev/sdX bs=4M;sync
169+1 records in
169+1 records out
710934528 bytes (711 MB) copied, 77.9798 s, 9.1 MB/s


Warning-root-login.png 使用 dd 命令将不可逆地删除您所选 USB 驱动盘上现存的所有数据。换言之,在使用您的 USB 盘进行 LiveUSB 制作之前请做好完整的数据备

份,因为一旦 LiveCD 制作完毕,您 USB 驱动盘上原有的所有数据都将丢失(不可逆的丢失)。
另外, 请注意确认您 LiveCD iso 写入的对象是否正确,

因为 dd 命令会努力直接写入您所指定的任何目标,甚至是您的硬盘。


方法二 在 Windows 下操作

如果您在 Windows 下制作 U 盘系统,那么请按如下方法操作:

1. 插入 U 盘,并在我的电脑或者计算机中找到你的 U 盘对应的盘符,备用。

2. 下载 Windows 版 dd 并使用之前的 Linux 方法进行操作,或者直接使用镜像写入工具,比如 Win32DiskImager

  • 解压并运行 Win32DiskImager,会出现如下窗口:

LiveUSB w32diskimager application.png

  • 单击 Image File ,选择您的 ISO 镜像文件(您可能需要将 .iso 的后缀修改为 .img)。

LiveUSB win32diskimager file selection hack.png

  • "Device" 下拉菜单里选择您的 U 盘对应的盘符,如果没看到,请确保您已经插入 U 盘。
  • 最后单击 "Write" 按钮,稍等片刻,等提示写入成功后,安全删除您的 U 盘,那么您的U盘系统就制作完毕了。

在剩余磁盘空间上创建分区

该分区可以用于为 Live 系统创建可写的 /home 目录, 使之成为在所有机子上都能使用的可移植 openSUSE。

我们将使用命令 fdisk 来实现该目标。

注意,下面的步骤演示原本是一个整体,在此分成段落是为了方便我们将解释说明添加进去。 更多信息请参考 man fdisk .

  • 列出分区:
linux-vgqb:~ # fdisk /dev/sdb

The number of cylinders for this disk is set to 3935.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

          Command (m for help): p

Disk /dev/sdb: 4126 MB, 4126670848 bytes
64 heads, 32 sectors/track, 3935 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0×967113b7

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 660 675840 83 Linux
  • 创建新分区:
           Command (m for help): n
Command action
            e extended
p primary partition (1-4)
             o p
             o Partition number (1-4): 2
First cylinder (661-3935, default 661):
Using default value 661
Last cylinder, +cylinders or +size{K,M,G} (661-3935, default 3935):
Using default value 3935
  • 检查所做的修改:
            Command (m for help): p

Disk /dev/sdb: 4126 MB, 4126670848 bytes
64 heads, 32 sectors/track, 3935 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0×967113b7

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 660 675840 83 Linux
/dev/sdb2 661 3935 3353600 83 Linux
  • 最后写入 USB 驱动:
             Command (m for help): w

'''The partition table has been altered!

Calling ioctl() to re-read partition table.'''

最小的 USB 驱动盘容量是 1 GB, 多多益善。 以便有大量的磁盘空间用于写入。
记住: 如果您没有进行 fdisk 这部分的操作,那么您的 USB 驱动器将会像一个 Live CD 一样,一旦关机,所有数据将全部丢失,而上面操作创建的

/dev/sdb2 将会用于储存您的所有修改。


剩余的问题 (FAQ)

(请添加至列表)

  • Additional hints on Configuration can be found at Xen project. The following

command helps you to extract a list of installed rpms in the config.xml format:

rpm -qa --queryformat "\<package name=\"%{NAME}\"/\>\n" >rpms.txt

You will have to download the driver rpm (i.e. madwifi-kmp-default-0.9.3.3_2.6.22.9_0.4-0.1.i586.rpm ) to a local directory and insert that

as source (rpm-dir) in the config.xml file. Also you need to add the driver to the packages section.

 <repository type="rpm-dir">
 </repository>
 <package name="madwifi-kmp-default"/>


  • Why is xvkbd open? How do I get rid of it?
  • How can I (manually) convert a downloaded Live CD ISO into a bootable USB stick (without having to have openSUSE installed and without

using Kiwi)?

There's a howto at http://www.pendrivelinux.com/2008/03/28/usb-suse-flash-drive-install/

  • Wow thanx the above howto is much easier than this tutorial. Makes me wanna link it at the top so people dont waist there time with all the

above steps. :)

  • Why is fvwm2 part of the 1CD distribution?
  • How do I change GRUB to get e.g. German as the default language for both keyboard and system?

Simply change

<locale>en_US.UTF-8</locale> 

in the config.xml to

 <locale>de_DE.UTF8</locale>

Since changes you make later are persistent, you may as well change /etc/X11/xorg.conf

  • How can I know how much r/w space I have left?
mount /dev/sda3 /mnt
df
umount /mnt
  • How can "persistency" (r/w) be disabled or set to r/o?
  • How can I build a 32-bit image on a 64-bit system
linux32 kiwi --prepare ...
linux32 kiwi --create ...
  • How do I make the first partition a FAT partition so the stick also can be used for general data trasnfer between machines independant of

operating system

  • 如何添加 NVIDIA/ATI 二进制驱动?

您可以将其添加至

 /usr/share/kiwi/image/usbboot/suse-xx.x/config.xml

文件的段落

 <drivers type="drivers">
   <file name="drivers/nvidia/*"/>
   <file name="drivers/ati/*"/>
  • 如何修改显示分辨率为 1024x768?

参考

另见

YaST 为 KIWI 提供 GUI 模块: 镜像创建器(Image Creator).