Home Wiki > SDB:Live USB U盘安装
Sign up | Login

SDB:Live USB U盘安装

tagline: 来自openSUSE

该页面解释如何从 Live CD 或 DVD 制作安装U盘 - 或成为 Live USB。
注意 本页面所记载的方法会抹去使用中的 USB 中的所有数据。请确定这其中没有对您重要的数据。
测试版本 推荐条目 相关条目
Icon-checked.png

Icon-manual.png Icon-help.png

图形界面创建 Live USB

http://software.opensuse.org 下载安装媒介。如果你下载的是 DVD,阅读顺序是:

Linux

版本:11.2+適用於 openSUSE 11.2 及之後的版本。

安装 imagewriter。

  • 打开 YaST 软件管理模块:
    • 在 KDE 中,点击 kicker 菜单,到我的计算机标签页,点击安装/删除软件。
    • 在 GNOME 中,你可以在右手边的我的计算机菜单中找到安装/删除软件。
  • 您会被提示输入 root 密码
  • 搜索 imagewriter,选中它
  • 点击接受

写入 iso 到 USB。

  • 打开 imagewriter:
    • 在 KDE 中,点击 kicker 菜单,搜索 imagewriter,点击 SuSE Studio Imagewriter。
    • 在 GNOME 中,点击更多应用程序,搜索 imagewriter,点击 SuSE Studio Imagewriter。
  • 输入 root 密码
  • 点击程序的中部,选中您的镜像
  • 从下拉列表里选中您的 U 盘,点击写入按钮
  • 之后重启。

Windows

注意:微软版的 SuSE 镜像写入器不能自动发现 .iso 文件,只能看见 .raw 文件,但它能写入上述所有的文件。这就需要手动选择。

  • 插入 U 盘(Live CD 最小 1GB, Live DVD 最小 4GB(需要对 .iso 做一些精简。详情见 U 盘容量不够怎么办?
  • 打开镜像写入器
    • 如果没能打开,您需要安装 .NET 2.0 runtime
    • 如果弹出错误,您应该右键以管理员身份运行
  • 点击选择按钮。
  • 在文件名那里输入 *.iso,然后再按Enter键就能找到您的 Live CD 镜像。
  • 选择 U 盘并点击写入按钮。

命令行界面创建 Live USB

下载/校验 LiveCD ISO

http://download.opensuse.org/distribution/13.1/iso/ 下载您喜欢的安装介质。

~> aria2c -x5 http://ftp.halifax.rwth-aachen.de/opensuse/distribution/13.1/iso/openSUSE-13.1-DVD-i586.iso

您可能想要检测一下下载完整性:

~> gpg --recv-keys 9C800ACA
~> wget http://download.opensuse.org/distribution/13.1/iso/openSUSE-13.1-DVD-i586.iso.asc
~> gpg -a openSUSE-13.1-KDE-LiveCD-x86_64.iso.asc

或者用 md5sum 校验 md5 checksum:

md5sum openSUSE-13.1-DVD-i586.iso

http://download.opensuse.org/distribution/13.1/iso/openSUSE-13.1-DVD-i586.iso.md5 进行比对。

Linux

查找 U 盘设备

插入 U 盘后,找出它是哪一个设备

~> su
# grep -Ff <(hwinfo --disk --short) <(hwinfo --usb --short)
# ls -l /dev/disk/by-id/*usb*

将 ISO 写入 U 盘

先卸载此 U 盘(否则 dd 不能写入),然后以 root 身份将 iso 写入到 U 盘:

  • 请用实际 U 盘设备來代替 /dev/sdX
  • 请用你下载的 iso 代替下面的 iso。
# umount /dev/sdX1
# dd if=/path/to/iso/openSUSE-11.2-KDE4-LiveCD-i686.iso of=/dev/sdX
Summary for openSUSE-11.2-KDE4-LiveCD-i686.iso -> /dev/sda:
dd_rescue: (info): ipos:     18944.0k, opos:     18944.0k, xferd:     18944.0k
                   errs:      0, errxfer:         0.0k, succxfer:     18944.0k
             +curr.rate:    62925kB/s, avg.rate:    62925kB/s, avg.load: 29.9%
[...]

Mac OS X

查找 U 盘

插入 U 盘,打开命令行执行:

# diskutil list

显示 /dev/diskN 当前所有挂载的设备/分区,使用 “NAME” 列找到 USB。

/dev/disk2
   #:                       TYPE        NAME                    SIZE   IDENTIFIER
   0:                       FAT32                               2.0 GB   disk0
   1:                                   USB2                    2.0 GB   disk0s1

本例中我们的 U 盘挂载在 /dev/disk2

卸载 U 盘

# diskutil unmountDisk /dev/diskN

写入 ISO 到 U 盘

# dd if=/path/to/downloaded.iso of=/dev/rdiskN bs=1m

需要 root 密码

Windows

版本:XP, Vista這教學僅適用於 Windows XP 和 Vista。 似乎無法在 Windows 7 64 位元環境運作,會出現遺失 diskio.dll 的錯誤 - 即使他實際上並未遺失。
  1. 插入您的 USB 隨身碟,在我的電腦視窗中找到您的 USB 隨身碟字母代號。當您插入隨身碟後出現的就是您等會兒要用的字母代號。
  2. 下載命令行工具 dd tool for windows 然後使用上面的教學。

在 USB 的空余空间上创建可写分区

DVD 写入了 USB 之后,那个 U盘就不可写了(在 Linux 下,Windows 还是可以用,不过会有一堆奇形怪状的文件格式),那样您在 Live USB 运行 openSUSE 系统的时候,所有的更改都没法保存,一启动又变新系统了,这就是失去了你做 Live USB 的意义了是吧。别着急,下面教您怎样在 USB 的空余空间上创建可写分区。注意,只有在真的有空余空间的情况下下面做法才有意义。

openSUSE 11.3 及以上版本

用该 Live USB 引导时,在引导选项「Boot Options」上添加一行:

kiwi_hybridpersistent=yes

启动时就会自动把您的空余空间分成一个可写的分区并挂载。

openSUSE 11.3 以下版本

預設您的 USB 隨身碟將會像 live cd 一樣——當您關機後,所有的資料都將不見。通过建立一個新的分割區讓 Live 系統可以寫入, openSUSE 會變成 可攜式的——一個您可以使用在任何電腦的作業系統。

  • 使用下列的教學, 將會建立一個新的 /dev/sdb2 分割區來儲存您的變更。
  • 您的 USB 隨身碟至少要有 1 GB, 愈多愈好,因為您可以有許多空間可以寫入。

下面就是自動建立第二個分割區的程式,它的目的是:

  • 列出分割區
  • 建立新的分割區
  • 檢查做了什麼
  • 寫入 USB 隨身碟
#!/bin/bash
# liveUSBpartition.sh
# Create Live USB stick writeable partition
if [ -z "$1" ]; then
	echo "run the script with /dev/sdX as arguement"
	exit
fi
fdisk $1 << EOF  # launch fdisk (partition table editor) on partition /dev/sdX
n                # add a new partition table
p                # primary partition (1-4)
2                # partition number (1-4)
                 # first cylinder (using default value)
                 # last cylinder (using default value)
t                # partition type
2                # partition number (1-4)
83               # hex value (type l in fdisk for list)
w                # write table to disk and exit
EOF
SECONDPART="${1}2";
dd_rescue /dev/zero "$SECONDPART" -m 8K

儲存此 script,賦與他執行的權限,並使用 root 執行下列命令,其中 /dev/sdX 是您的 USB 隨身碟裝置的真實名稱(如 /dev/sdb)。

# chmod +x liveUSBpartition.sh
# sh liveUSBpartition.sh /dev/sdX

這個程式使用 fdisk 命令,請參考 man fdisk 得到詳細資訊。


由 DVD 或网络安装 ISO 制作可引导 USB

Linux

软件包 syslinux 能够让 DVD ISO 可以引导,安装:

# zypper in syslinux
# isohybrid $IMAGE_NAME.iso

完成后,使用上面制作 Live USB 的方法制作安装 U盘。完成后参考下面的从 USB-DVD 引导章节。

Windows

  1. 准备
    • 下载并解压 syslinux
    • 将 utils 文件夹中的 isohybrid.pl 文件复制到 ISO 所在的目录。
    • 安装 strawberry perl
  2. 用 syslinux 包里的 isohybrid.pl 程序让镜像可启动
    • 打开 cmd 并定位到镜像所在目录:
    • C:\strawberry\perl\bin\perl.exe isohybrid.pl openSUSE-11.3-DVD-i586.iso

完成后,使用上面制作 Live USB 的方法制作安装 U盘。完成后参考下面的从 USB-DVD 引导章节。

从 USB-DVD 引导

在启动刻录好的 DVD 后,光标默认是在 Installation 上读秒,这时:

  • 快速按下 F4,修改安装源「Installation Source」到硬盘「Hard Drive」,其他留空,按回车关闭对话框。
  • 在引导选项「Boot Options」里输入「namescheme=by-label」并回车安装。

不能引导?

这种情况非常少见,但若是您制作的安装 U 盘无法启动,您可以试试这里的步骤。

主分区没标记为活动

题外话: Linux 没有逻辑分区这个说法,所以想要把 Linux 安装到逻辑分区上都是不可行的。所以在 Windows 下为您的 openSUSE 准备分区时,请不要以为在您的逻辑分区上切分一块出来格式化就可以了。您需要的是缩小您的逻辑分区,留出所谓「未使用磁盘空间」来让 openSUSE 的分区程序操作它。

有的时候您没有把您的 U盘主分区标记为「活动的」,因此无论是 Windows 的引导加载器(所谓 MBR)还是 Linux 的引导加载器(GRUB)都不认为它是可以引导的。

Linux

打开一个终端,顺序执行如下操作:

umount /dev/sdX 卸载 U盘
fdisk /dev/sdX
\tp     «--- 打印分区表
\ta     «--- 激活分区(标记为「活动」,使之可引导)
\t1 «--- 应用到分区 1(如果您的 U盘没有分过区,如果您的 U盘分过区的话,您要注意操作的是 DVD 写入的那个区。
\tw    «--- 写入变更到分区表

Windows

Windows 相应命令像这样:

C:\> diskpart
DISKPART> list disk           «--- 打印磁盘
DISKPART> select disk 0       «--- 选择磁盘编号
DISKPART> list partition      «--- 打印分区表
DISKPART> select partition 1  «--- 选择分区
DISKPART> active              «--- 激活磁盘分区
DISKPART> exit                «--- 退出

和 fdisk 不一样,diskpart 在您输入命令的时候就执行了,因为不需要在执行「写入」。

UltraISO

有很多 Winer 都喜欢用 Windows 的方法来解决 Linux 问题,但问题是要解决对,请见下面的UltraISO 制作可引导 U 盘

这里出问题的原因可能是:

  • 你忘记了写入新引导扇区
  • 你的刻录格式选了您的主板 BIOS 不支持的 USB-ZIP+ 格式。
  • 你制作了一张「数据盘」。

主板没设置从 USB 启动

这是最最常见的问题之一,但大家都自信的以为「这么傻的错误老子怎么会犯」。

开机进 BIOS 设置(按 F1 或其他功能键,具体看你的主板),在「引导」、「引导选项」、「引导顺序」这些东西里找找,看看 USB 是不是排在 SAMSUNG-* 反正是看起来像个硬盘的名字的下面,那样的话只要您的硬盘还插着,就永远不会从 U盘启动的。用 F5/F6 来把它们重新排下序。(注意,安装后要改回来!不然就不要到论坛里去问,为什么我明明安装成功了还进了安装盘?或者,为什么我的电脑装过 openSUSE 之后插上 U 盘就不能开机?)因为这里,同理,你只要还有 U盘插着,就永远不会从硬盘启动的,但可不是所有的 U盘拿来都能开机,不然还要这篇文章干嘛?


UltraISO 制作可引导 U 盘

  • 用 UltraISO 打开 openSUSE CD/DVD。可以直接点,也可以用「文件」菜单
  • 「启动」菜单-「写入硬盘映像」(绝对绝对不能用「制作数据盘」)
  • 格式化
  • 「便捷启动」-「写入新的驱动器引导扇区」-「自动检测」
  • 勾选「刻录校验」
  • 写入方式选「USB-HDD+」
  • 按下写入。

图文版

U盘容量不够怎么办?

我们的 DVD 已经有 4.7 GB 之巨了。所以使用常见的4GB U盘会出现空间不足的问题,这个问题的解决办法有两个:

  • 使用更大的 8GB U盘。
  • 自己裁剪 ISO 到 4GB 以下。而SDB:硬盘安装方式时使用 FAT32 分区格式会遇到相同的需求,因为 FAT32 分区格式不支持大于 4GB 的单个文件(表现为硬盘安装时找不到该 ISO)。

Linux

如果您有另外的 Linux,那这个方法就十分简单了。

用 mount 命令挂载,

mkdir iso
cd iso
# 挂载
mount -o loop ../openSUSE-13.1.iso ../iso/

也可以把iso解压缩到新建的文件夹中。

下面开始清理:

cd suse/x86_64
rm -rf *-devel-*.rpm 

删除所有的 devel 包,因为你安装好之后可以联网下载它们。类似地:

  • 把除了 kernel-default/desktop/source 以外的 Kernel 包都删掉。
  • 删除所有 Latex 相关包。
cd ../noarch
rm -rf texlive-*
  • 删除除了 gimp-help-en/zh 以外的 gimp-help 包。本地语言帮助。
  • 删除 stardict-sounds-* 星际译王的发音文件。星际译王至少在 openSUSE 社区是没什么人还用了。
  • 删除 kde4 和 calligra 的除了 en 和 zh_CN 的 l10n 文件。翻译文件。
  • 删除 oxygen-icon-scalable 这个包。这个包不会默认安装。
  • 删除 yast2-trans 除了 en 和 zh 以外的所有包。
  • 确定不用虚拟机,用也是从官网下载的,可以删除 virtualbox-* 和 xen-*
  • 删除 aspell*
  • 确定不会搭建本地网页服务器的可以删除 apache2-*
  • 删除 bundle-lang 除了 en 和 zh_CN 的文件。翻译文件。
  • 删除 calligra。KDE 本身默认都不会安装它。需要可以联网下载。
  • 删除除了 ispell 和 ispell-american 之外的所有文件。词典文件
  • 删除 kde*3-*。KDE 3,根本没有人会装。
  • 删除 lireoffice 除了 en 和 zh 之外的 l10n 文件。翻译文件。
  • 删除 mono-*。
  • 删除 thunar-*。
  • 删除不是 en 和 zh 的 susehelp。
  • 删除 scim-*
  • 删除
  • 删除 ruby 如果你不是 ruby 程序员。很少有桌面程序用它。
  • 删除 translation-update 不是 en 和 zh 的包。

另外还有:

确定显卡方法:打开命令行
sudo lspci | grep VGA
  • Nvidia 卡对应的驱动名 nouveau
  • ATI 卡对应的驱动名 radeonhd
  • Intel 卡对应的驱动名 intel-legacy(注意这是特别老的 Intel 显卡,新的都在内核里,所以你也可以删这个包
  • 除非是特别特别老的显卡,否则可以删除 xf86-driver-*
  • 在确定自己显卡的情况下,删除 xorg-x11-driver-video 不是你显卡的驱动
  • 删除 xfce4-* 和 libxfce*。这是另一个很少被用到的桌面环境。当然你要是用的话千万别删。
  • KDE 的话就删除一些 GNOME 核心应用如 banshee-*, evolution-*, tomcat-*,totem-*,shootwell; GNOME 的话就删除一些 KDE 核心应用比如 amarok-*,digikam-*,marble-*,

以上是删除后完全不影响安装过程的软件包。如果你对自己足够狠,可以:

  • 在确定自己不会在 Linux 下使用办公软件时,删除 libreoffice
  • 确定自己没有打印机,也永远不会在这台电脑上用到,删除 cups-*

但这些项需要在马上就要开始安装的那个概览页面里点击软件管理,手动去取消软件包的安装,否则安装时会报错。

把清理好的目录重新做成 ISO 映像:

mkisofs -iso-level 4 -J -R -o ../openSUSE-13.1-small.iso ../iso/

接着您就可以用上面的办法把 openSUSE-13.1-small.iso 写入 U盘或者放进 FAT32 硬盘分区了。如果以上都做的话,您的 ISO 也就 1G 出头。。。2G 的 U盘都装的下哦。

Windows

Windows 下没有 Linux 这么好用的命令行,您也不会去用命令行。有一个图形界面的程序叫做 UltraISO,是 UltraISO 而不是 UltraISO PE。一定要找绿色破解带注册码的,比如这里:[1]

用该软件打开下载到的 ISO(最好先复制一份做备份):

ultraiso.png

如图所示,可以在窗口中选中要删除的软件包,然后按 DEL 键,直到右上角的容量显示小于 4GB,点击保存即可。保存时可能会卡。请耐心等待。也别乱干别的,要是死掉就好玩了。

然后按照上面的方法写入 u盘或者放进 FAT32 硬盘分区就可以了。

参考链接