如何通过 USB 设备来安装 CentOS
其它用户比较喜欢「另类方法」部分内的某些做法,而且已证实适用于 CentOS-6。
以下程序已经被不同用户所测试,但未必能涵盖所有可能性。CentOS 计划并没有一个官方的推荐做法,因为获支持的安装程序是 anaconda,或者是 Live CD。 安装者必须留意,及乐于尝试。
推动力
很多新近的系统,尤其是笔记型及超轻量计算机,都未必拥有 CD 或 DVD 机,而视乎网络连接及安装器对网络硬件的支持,进行网络安装可以是困难、不设实际、或根本不可能。这里的程序容许你在没有网络连接、或其它安装媒体的情况下,只利用一支可开机的 USB 设备及目标系统的碟盘来安装 CentOS。
CentOS 6.5
由 CentOS 6.5 起,你只需通过 dd 把 ISO 档转到 USB 存储器,便能利用它进行安装。
例如:dd if=CentOS-6.5-x86_64-bin-DVD1.iso of=/dev/sdb
当被问及安装来源时,请选择 hard disk,然后指向对应 USB 存储器的设备。
旧版 CentOS-6
针对 CentOS-6,有位用户推荐采用 livecd-tools 内的 livecd-iso-to-disk 于 DVD1 上。此方法已配合 EPEL 的 livecd-tools-13.4-1.el6 测试过。多谢论坛用户 AndrewSerk 在讨论中提出这个推荐。此外请也参阅邮件列表内这封邮件有关安装 qemu 的必要性。
旧方法
有汇报指此方法仍适用于 CentOS 6.4
在一支 USB 存储器上创建 CentOS 6.2 发行版本 —— 多谢 Mark Roth 提供 CentOS-6 的步骤,及 CentOS-Docs 邮件列表上的 Yves Bellefeuille 添加及修正内容。
推荐:8GB 或更大的 USB 存储器。把 USB 存储器分割为两个分区:第一个是 FAT32,大约 250M;第二个是 ext3,占用余下的空间。(你需要一个 ext3 分区,因为稍后复制的 ISO 文件尺寸超越 FAT32 或 VFAT 分区的最大容量。)
假若不是自动挂载的,请挂载 DVD(在 /media 或 /mnt 上)。下面假设是 /mnt/USB 及 /mnt/DVD。
挂载 USB 存储器在 /mnt/USB/ 上。
复制 /mnt/DVD/isolinux 的目录及内容至 /mnt/USB/。
把 /mnt/USB/isolinux 换名为 /mnt/USB/syslinux
把 /mnt/USB/syslinux/isolinux.cfg 换名为 /mnt/USB/syslinux/syslinux.cfg
复制 /mnt/DVD/images 的目录及内容至 /mnt/USB/。(有一个错误已被汇报,因为截至 2012 年 1 月 11 日,安装时需要 .iso(参考下文),但 linux rescue 需要映像的内容来装入程序及执行。)
假设 USB 存储器是 /dev/sdbsyslinux /dev/sdb
syslinux /dev/sdb1
卸下第一个 USB 分区,然后挂载第二个分区umount /mnt/USB
mount /dev/sdb2 /mnt/USB
复制 .iso 档至 /mnt/USB。请勿使用 LiveCD 或 LiveDVD。选用 DVD1、minimal CD ISO、或按照将 CD 媒体转为 DVD而制成的混合 DVD1/DVD2。切勿复制内容 —— 安装器现在需要 .iso 档本身,它会在安装时自行挂载,跟随上游的安装指南在同样的分区创建一个存放镜像文件的目录。要是你采用 DVD1,而且在安装时将会用到 DVD2,你可选择加上 DVD2。
可选:在 /mnt/USB 创建 grub.conf。如果你的系统要以 USB 存储器作为首个碟盘,你或许需要这样做,好让你稍后能把它复制至硬盘。如需指引,请参考 HowTos/GrubInstallation 第二节。
卸下 USB 存储器,它已经准备好了。
采用 USB 媒体来开机,方法就是在 BIOS 设置它为首个开机设备,或在某些 BIOS 下于 POST 后按 F12 键来选择开机设备。
在安装过程中,用户会被问到 "What type of media contains the installation image?" 请选择 USB 存储器上的首个分区,它应该会出现在 Hard drive 选单内,接着是便是 /dev/sda1 或对应首个 USB 分区的设备。
进行分割后,用户会被问要否安装 Grub 开机程序及在哪处安装它。当你以 USB 存储器开机后,BIOS 或许会以为 USB 存储器是首个碟盘。如果 USB 被视为首个设备,却想依般例把 Grub 开机程序安装至硬盘的 MBR 上,用户便需要运用 Grub 的高级安装选项更改硬盘的次序。
设置 Grub 安装选项后,以下错误信息或许会出现:Missing ISO 9660 image: The installer has tried to mount image #1, but cannot find it on the hard drive。安装程序正在 USB 存储器的首个分区上寻找 ISO 档,但它位于第二个分区。请按 Ctrl-Alt-F2 进入有指令壳的终端機,然后卸下 USB 的首个分区umount /mnt/isodir挂载 USB 设备上的第二个分区。它第同于上述 #14 采用的设备 —— 举个例说mount -t ext3 /dev/sda2 /mnt/isodir返回安装程序(Ctrl-Alt-F6)及选择 Retry。
在没有接上 USB 设备的情况下结束安装及重新开机。要是你在开机时遇上问题,开机记录很可能被写进错误的设备内。见如何重新安装开机管理程序(GRUB),要是你在辨认正确的设备上遇到困难,见排除 GRUB 的问题。
CentOS-5
注:上述推荐给 CentOS-6,采用 livecd-tools 内 livecd-iso-to-disk 的方法也许更可取,但本作者未试用过它。
先决条件一台支持以 USB 媒体开机的目标安装系统。这可能须要在 BIOS 设置内设置。
一支拥有足够空间来容纳安装媒体的 USB 存储器 —— 又名:记忆棒、快闪存储器、手指存储器、等。CentOS 5.4 i386 应该能够放置在一支 4GB 存储器内,x86_64 需要多过 4GB,而一支的 1GB 存储器应该可支持通过首张光盘进行最小安装。同样的技巧亦适用于家居的 USB 硬盘。这里假设了整个程序是已图像界面(GNOME/KDE/等)进行,因此这个 USB 媒体将会被自动挂载。
一台可用的 Linux 系统(Linux 多数安装在另一台计算机上、运行于 Live CD、或者在一虚拟机器上),连同 syslinux(假若未安装的话,"yum install syslinux" 或者以发行版本的原生组件管理程序安装)。本作者在使用 CentOS-5.3/5.4 的 syslinux 组件时遇上了问题。由 CentOS 的 LiveCD Tools 软件库所提供的组件却能正常运作。
一套针对所需结构的 CentOS 安装 CD ISO 映像,或 DVD ISO 映像。
你或许会需要更改设备名称、结构、及/或 syslinux 路径来配合你安装了的发行版本、情况、及首选。
当剪贴以下指令时,请留心地按你的处境作出调整!
程序
假设 USB 存储器以 /dev/sdg 出现(请按你的处境调整 —— 这很大机会是不相同的)而 CentOS 5.4 i386 将会被安装。成为 root 用户。在 USB 媒体上创建一个细小的 VFAT 分区(20 MB 应该已足够了)及一个大的 Linux 分区。请将 VFAT 分区设置为可开机的。fdisk /dev/sdg在 fdisk 利用 m 来显示项目选单。指令的次序大概是这样(去除 # 注译):d # 删除现有分区 —— 按需要重复
n # 新增分区
p # 主分区
1 # 分区编号
# 采用缺省值
+20m # 增加 20 MB
t # 更改类型
1 # 分区编号
b # VFAT
n # 新增分区
p # 主分区
2 # 分区编号
# 采用缺省值
# 采用缺省值
a # 切换可开机标志
1 # 分区编号
w # 写入磁盘在完成后应该类似这个样子:Disk /dev/sdg: 7948 MB, 7948206080 bytes
81 heads, 10 sectors/track, 19165 cylinders
Units = cylinders of 810 * 512 = 414720 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdg1 * 1 65 26320 b W95 FAT32
/dev/sdg2 66 19165 7735500 83 Linux
创建文件系统:mkfs.vfat -n BOOT /dev/sdg1
mkfs.ext2 -m 0 -b 4096 -L DATA /dev/sdg2拔出后再插入这个 USB 媒体。这些分区现在应该被挂载在 /media/BOOT 及 /media/DATA。
复制 CentOS 的 ISO 档到那个 ext2 分区内。针对 CD 映像档:cd /dir/of/iso/images
mkdir /media/DATA/centos
mkdir /tmp/cdimage
mount -ro loop CentOS-5.4-i386-bin-1of6.iso /tmp/cdimage
cp *sum* /media/DATA/centos
for i in 1 2 3 4 5 6; do cp -v CentOS-5.4-i386-bin-${i}of6.iso /media/DATA/centos/; sync; done
cd /media/DATA/centos
grep of6 sha1sum.txt | sha1sum -c - CentOS-5.4-i386-bin-?of6.iso针对 DVD 映像样,请用下面两行取代上面的 for 回圈cp -v CentOS-5.4-i386-bin-DVD.iso /media/DATA/centos/; sync
cd /media/DATA/centos
grep DVD sha1sum.txt | sha1sum -c - CentOS-5.4-i386-bin-DVD.iso
在 VFAT 分区及 MBR 内安装并设置 syslinux:syslinux -s /dev/sdg1
dd if=/usr/share/syslinux/mbr.bin of=/dev/sdg
cd /media/BOOT
cp -rv /tmp/cdimage/isolinux syslinux
mv syslinux/isolinux.cfg syslinux/syslinux.cfg
rm -f syslinux/isolinux.bin
umount /tmp/cdimage
syslinux/syslinux.cfg在各部份的 append 语句内加入:method=hd:sda2:/centos若然要采用 kickstart:ks=hd:sda2:/ks.cfg method=hd:sda2:/centos
使用图像界面来「安全地删除」这个 USB 媒体。将它转到目标系统,开机并进行安装。
备注一般信息可参阅安装指南。
在测试这个程序的过程中,某些 MicroSDHC 媒体不能运作,就算重新分割及格式化后,在写入所有 iso 映像档时均出现错误。来自另一个生产商的同类型媒体却没有问题。假如你遇上问题,请试用另一张媒体,或者在格式化后重试。Windows(很不幸 —— 对不起)上的 Panasonic SDHC Formatter 对不合作的 SD 媒体来说非常有好。请运用包含删除及调整尺寸的完整格式化选项,而不是快速格式化的选项。Format type - FULL(Erase ON)
Format size adjustment ON
你或许会须要用 CD ISO 档,因为有些人汇报 DVD 映像档在 USB 存储器上会出错。本作者的 CD 及 DVD 映像档都能正常运作。
尝试以只读的 USB 媒体来进行安装会产生大数有关只读媒体的错误信息。这些警告出现后我没有尝试继续安装。
进行安装时,请确保 Anaconda 安装程序将开机记录写入正确位置,而不是在 USB 存储器内。你多数须要用 GRUB 的「高级开机程序选项」来更改设备的次序,把目标开机设备放在清单的顶部,好让 GRUB 能被正确地安装。假如你没有这样做,GRUB 开机程序便会被写入 USB 存储器,你必须在存储器重装 syslinux MBR 才能运作,而且系统不能开机。如果你落在这个境况中,请参阅 zh/TipsAndTricks/ReinstallGRUB 这篇文章,及/或参阅 SuperGRUB。采用 extlinux 较 syslinux 也许更可取,因为它不须应用 FAT 分区。
多谢 John Doe 在以下的 CentOS 邮件列表电邮内提供了基本的数据:
http://lists.centos.org/pipermail/centos/2009-June/077860.html
来自 OP 的额外注释:
唔,是我的错……我是用 kickstart 档的(并且用 HP 磁盘数组控制器),而我忘记了我须要在当中加入:bootloader --driveorder=cciss/c0d0,sda --location=mbr
kickstart 方面,我采用以下设置:在 syslinux/syslinux.cfg:
append initrd=initrd.img ks=hd:sda2:/ks.cfg method=hd:sda2:/centos在 /media/DATA/ks.cfg(内里的相关部份):
harddrive --partition=sda2 --dir=/centos
ignoredisk --drives=sda
bootloader --driveorder=cciss/c0d0,sda --location=mbr
此外,老实的说,我不应该领任何功劳;我在网上找到大部份的数据…… _
早前我亦汇报了:我的 HP 服务器似乎不愿意用只读的 USB 存储器开机。
Anaconda 过早尝试读入 ks.cfg……假如我在硬件检测完成后(只是 2-3 秒后)重试,那便没有问题。
有一句 "cannot mount read/write, will mount read-only" 的错误信息出现(我喜欢只读模式)
另类方法
UNetbootin 也许是最受欢迎的「外来」方法。它同时备有 Windows 及 Linux 的执行档,助你把不同的 Linux 发行版本,包括 CentOS,创建为开机用的 USB 存储器。它曾经有一个 anaconda 错误可导致媒体不能使用 —— 这个错误在 Fedora 13 已获修正,在 RHEL/CentOS-6 上理应一样。论坛上有用户汇报它至少适用于 CentOS-6 的 netinstall ISO。当使用 netinstall ISO 时,你可以把整只安装碟的 ISO 档复制到 USB 媒体的根目录里,然后选择「硬盘」安装。
Marcus Moeller 推荐:
livecd-iso-to-disk 更棒,你可通过 git 取得它:
http://git.fedorahosted.org/git/?p=livecd;a=blob_plain;f=tools/livecd-iso-to-disk.sh;hb=HEAD
下载后,chmod +x 然后执行它:
./livecd-iso-to-disk.sh /path/to/iso /dev/partition_of_your_usb_stick
你也可加上这个选项:
--overlay-size-mb 1024
为存储器加上持续功能专用的空间。
你无须再把 ISO 档放置在存储器上,便可直接利用它作安装之用。
论坛用户 Al_Stu 推荐这个方法。
在 USB 存储器上创建安装碟的另一个做法。
在没有网络的情况下,另一个可行的方法就是按照安装指南中所记载,用 USB 存储器以 diskboot.img 开机,然后利用目标计算机上的 ISO 映像档进行硬盘安装。
论坛用户 ixeous 描述利用 GRUB2 来创建一支开机用的 USB 存储器以备不时之需。
这不是一则广告,但 OSDisc.com 以相宜的价格发售多款载有 CentOS 的 USB 开机媒体。假如有人试用它们,烦请在论坛上作出汇报。
采用 Windows
由 CentOS 6.5 起,你只需运用 Win32 Disk Imager 这类程序把 ISO 档安装至 USB 存储器上,便能简单地创建一支开机用的存储器。这样做会删除存储器上的所有数据。
请注意单单把 ISO 档复制到 USB 存储器上是行不通的。
上述所提及的 UNetbootin 有一个 Windows 版本,它能为你把不同的 Linux 发行版本创建为开机用 Live USB 存储器,包括 CentOS。
论坛用户 ron_l_j 推荐名为 iso2usb 的 Windows 工具。
有一位 CentOS 邮件列表的成员推荐Pendrivelinux.com。
这页的英文版由 PhilSchaffner 创建。欢迎其它拥有编辑权限的 Wiki 贡献者作出更正或添加。
Translation of revision 52
===============
U盘安装centos 6.3教程(超级详细图解教程) 2012-09-09 10:23:47
分类: LINUX
CentOS不像Fedora、Ubuntu默认会自动挂载NTFS磁盘,但是它可以利用NTFS-3G来实现挂载及读写。
如有需求可参考本blog中的另一篇文章《CentOS6.3挂载读写NTFS分区》。
vesamenu.c32.zip
所需工具:
一、UltraISO(用来制作 U 盘启动)
二、CentOS 6.3 32 位系统镜像(建议下载bin版镜像)
三、U 盘一只
要求:U 盘容量 8G
四、vesamenu.c32 文件——用来替换 CentOS 6.3 默认文件(附件中我提供了哦,解压缩后替换原来的文件)
安装步骤:
一、制作 U 盘启动引导盘
1、电脑插上 U 盘,打开 UltraISO 软件,文件---打开,选择你下载好的CentOS-6.3-i386-bin-DVD1.iso 文件,点启动--写入硬盘镜像,在硬盘驱动器里面选择你的 U 盘(看清楚,千万别选错),写入方式默认为:USB-HDD+,然后点格式化。格式化完成后,关闭对话框,然后再点写入,等几分钟,完成后,点返回,然后关闭 UltraISO。
2、打开 U 盘根目录下面的 syslinux 文件夹,用附件中的 vesamenu.c32 替换里面原有
的文件。
3、删除 U 盘根目录下面的 Packages 文件夹(不删除也可以,如果你U盘空间足够大)
4、把下载好的系统镜像 CentOS-6.3-i386-bin-DVD1.iso和CentOS-6.3-i386-bin-DVD2.iso 复制到 U 盘根目录下面。(不用改名字,安装时会自动识别)
至此,U 盘启动盘制作完成,然后退出 U 盘,这个 U 盘现在已经可以用来安装 CentOS 6.3 了。
二、安装 CentOS 6.3
1、开机设置 U 盘第一启动,重启之后会出来安装界面:
默认选择第一项,回车。
2、出现安装过程中使用的语言界面:
选择 Chinese(Simplified),简体中文,然后回车
3、出现语言确认界面直接回车
4、下面出现键盘模式选择界面:
选择键盘模式,默认
5、定位在 Hard drive 上, directory holding image此项不用填写,系统会自动去填写。(其实这项是搜索image目录下的install.img文件)选择 OK,按回车
6、这里的/dev/sdb4 代表你的 U 盘分区,我们前面已经把系统镜像拷贝到 U 盘根目录下面了,这里系统会自动识别
7、直接点 OK,会出现安装界面:
点击下一步
8、选择驱动器:
选第一项
9、设置计算机名:
可以根据自己喜好填写
10、设置时区:
默认即可
11、设置root密码(注意:如果你使用的密码过于简单,系统会自动提示,这里选择“仍然使用”
12、为centos建立分区
选择最后一项,自定义分区
13、注意:这里可以看到磁盘信息,切忌要确定在自己所要分区的磁盘上分区,否则其他磁盘会被格式化。
14、点创建,选择标准分区,点确定
(1)创建swap分区
文件系统类型:选择 swap
允许的驱动器:只勾选自己电脑磁盘,把u盘取消掉
大小:2048
其它大小选项:固定大小
(2)创建boot分区
挂载点: /boot
文件系统类型:ext4
允许的驱动器:只勾选自己电脑磁盘,把u盘取消掉
大小:100MB
其它大小选项:固定大小
(3)创建根分区
挂载点: /
文件系统类型:ext4
允许的驱动器:只勾选自己电脑磁盘,把u盘取消掉
大小:默认
其它大小选项:使用全部可用空间
点击下一步
选择第二项,将修改写入磁盘
注意:分区之前,自己先要规划好怎么分区?
特别说明:用于正式生产的服务器,切记必须把数据盘单独分区,防止系统出问题时,保证
数据的完整性。比如可以再划分一个/data 专门用来存放数据。
15、点更改设备(千万注意引导程序安装的地方,引导写到电脑磁盘上的MBR,不是U盘的,千万注意)
点 BIOS 驱动器顺序
第一 BIOS 驱动器:选择 本地磁盘驱动器
第二 BIOS 驱动器:选择 U 盘驱动器
点确定
说明:这一步至关重要,如果按照默认方式安装,会把系统启动引导安装到 U 盘里面,这也
就是很多网友安装完系统之后,只要把 U 盘拔了,系统就启动不了,插上 U 盘系统又能正常
启动的原因了!
16、默认是第三个,这里选择第一个,桌面安装,想用来开发的朋友也可以选择最后一项。
如果有想特意安装些特别的软件的网友,可以注意,在此处添加安装。
下一步,直到出现安装界面。
17、安装完成后,点重新引导
18、重新启动,把U盘拔出,电脑自动引导到centos系统
19、点击前进
20、选择第一项,同意许可协议,前进
21、这里是创建普通账号,可以不用创建,前进
22、设置时间,默认
23、完成
,进入登录界面
点“其他”
用户名输入:root
输入你 root 账号的密码
点“关闭”
备注:如果不替换 vesamenu.c32 文件,用 U 盘启动后会卡在下面的界面:Press the
key to begin the installation process
原因:U 盘根目录下面的 syslinux\syslinux.cfg 文件里面第一行引用到了
vesamenu.c32 这个文件,而在 CentOS 6.3 系统里面,这个文件是有 bug的,所以要用 CentOS 6.0 系统的这个文件来替换。
一、条件(要求的硬软件环境)
A.主板支持U盘启动
B.8G的U盘或者更大
C.CentOS-6.0-x86_64-bin-DVD1.iso 或 CentOS-6.0-x86_64-minimal.iso
D.UltraISO 9.3
步骤:
1.启动UltraISO,”文件” -”打开”-选择CentOS-6.0-x86_64-minimal.iso 因为这个才295MB,写入比较快。
2.”操作”-”写入硬盘映像”
3.”写入方式” 根据实际情况,不同主板选择不同,这里选择”USB-HDD+”,点击写入
4.第4步操作完成后,打开U盘目录,在根目录下只保留”syslinux”和" images " 目录。如图
5.复制CentOS-6.0-x86_64-bin-DVD1.iso或 CentOS-6.0-x86_64-minimal.iso到U盘根目录,并改名字:centos6.iso。我之前试了,太长了竟然不成功,提示找不到#1镜像。
6.用U盘启动需要安装CentOS系统的电脑
7.安装过程和用DVD安装时一样,当出现”Installation Method”时,选择”Hard drive”,然后选择U盘,根据实际情况可能有所不同,这里是”/dev/sdb4″
8.其它和DVD安装一样。