如何通过 USB 大容量存储设备安装 CentOS 6?

max*_*zig 16 centos usb-drive system-installation

我想在没有 CD/DVD 驱动器但有 USB 2.0 端口的笔记本电脑 (Thinkpad R40) 上安装 CentOS 6.2。

CentOS 似乎没有提供即用型的 dd-able USB 映像进行安装。

因此我的问题是:如何通过 USB 设备(例如 16 GB USB 闪存驱动器)安装 CentOS?

关于使用不同的可用 ISO 映像作为基础:笔记本电脑具有网络访问权限 - 但我想确保 CentOS 安装程序在安装过程中不会从网络加载未经检查的软件包 - 也许 netinstall 映像不会在安装过程中检查加密签名的软件包(与 Fedora 14 安装程序一样)。

有一个CentOS的InstallFromUSBkey它只是提供过时的,神秘的和错误的信息。

特别是,CentOS 6 的说明缺少细节并包含错误(第一个分区 10 MB 不够,syslinux device失败,他们在谈论什么 grub?)

max*_*zig 12

以下方法适用于 CentOS 6.2:

要求:U盘(至少4GB,我用的是16GB的)

从镜像下载 ISO 映像 - 我选择了完整的第一个 DVD 映像以避免网络安装(因为不清楚安装程序是否检查了加密包签名),例如:

$ wget http://ftp.uni-bayreuth.de/linux/CentOS/6.2/isos/i386/CentOS-6.2-i386-bin-DVD1.iso
$ md5sum CentOS-6.2-i386-bin-DVD1.iso
Run Code Online (Sandbox Code Playgroud)

对照原来的md5sum也md5sum.txt从另一个镜像文件(并检查md5sum.txt针对md5sum.txt.asc通过gpg)。

对您的闪存驱动器进行分区(假设它是/dev/sdb),即删除所有分区,只创建一个,设置引导标志和 FS 类型:

# dd if=/dev/zero of=/dev/sdb bs=512 count=1
# fdisk /dev/sdb
> n
> p
> 1
(defaults)
> a
> 1
(toggles boot flag)
> t
> c
(filesystem type, default is 83, probably no need to change it)
> w
(write the new table)
Run Code Online (Sandbox Code Playgroud)

创建一个 VFAT 类型的文件系统:

# mkfs.vfat /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

获取 Fedora-LiveCD 工具:

$ git clone git://git.fedorahosted.org/livecd
Run Code Online (Sandbox Code Playgroud)

(我们需要livecd/tools/livecd-iso-to-disk.sh- 它还支持livecd ISO 映像作为源!)

安装脚本所需的一些软件包,例如在类 Debian 系统下:

# apt-get install isomd5sum syslinux extlinux
Run Code Online (Sandbox Code Playgroud)

执行脚本:

# bash livecd-iso-to-disk.sh CentOS-6.2-i386-bin-DVD1.iso /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

测试设备:

$ qemu -hda /dev/sdb -m 256 -vga std
Run Code Online (Sandbox Code Playgroud)

为此,您的用户(暂时)需要rw/dev/sdb.

PS:作为一个侧节点,RHEL 6 已经放弃了对非 PAE 硬件的支持——即内核不能在像 Thinkpad R40(基于 Centrino)这样的旧系统上运行。