如何通过 USB 设备来安装 CentOS
来源:互联网 发布:淘宝买吃的怎么样 编辑:程序博客网 时间:2024/06/05 18:12
如何通过 USB 设备来安装 CentOS
其它用户比较喜欢「另类方法」部分内的某些做法,而且已证实适用于 CentOS-6。
以下程序已经被不同用户所测试,但未必能涵盖所有可能性。CentOS 计划并没有一个官方的推荐做法,因为获支持的安装程序是 anaconda,或者是 Live CD。 安装者必须留意,及乐于尝试。
推动力
很多新近的系统,尤其是笔记型及超轻量计算机,都未必拥有 CD 或 DVD 机,而视乎网络连接及安装器对网络硬件的支持,进行网络安装可以是困难、不设实际、或根本不可能。这里的程序容许你在没有网络连接、或其它安装媒体的情况下,只利用一支可开机的 USB 设备及目标系统的碟盘来安装 CentOS。
CentOS 6(6.5 以上版本)和 CentOS 7
由 CentOS 6.5 起,你只需通过 dd 把 ISO 档转到 USB 存储器,便能利用它进行安装。
例如:
dd if=CentOS-6.5-x86_64-bin-DVD1.iso of=/dev/sdb
当被问及安装来源时,请选择 hard disk,然后指向对应 USB 存储器的设备。
请选择对应 USB 存储器的设备为目标(以上样例是 /dev/sdb)而不是分区(例如 /dev/sdb1)
同一个方法亦适用于 CentOS 7。此外,由于 CentOS 7 安装程序的映像采用了特殊的分区,而截至 2014 年 7 月,大部份 Windows 工具都不能正确地转移,因此利用 USB 存储器开机时会导致不能预知的结果。(暂时)已知不适用的工具包括 unetbootin 和 universal usb installler。已确定能正确运作的有Win32 Disk Imager、Rawrite32 及dd for Windows。如果采用 Windows 7 以上的版本,请先卸下该 USB 存储器(其中一个方法是在执行工具程序前把存储器格式化),否则 Windows 可能会拒绝写入该存储器,出现 can't write to drive 错误及取消行动。
如果采用 Windows 版的 dd,请执行 dd --list 并仔细地查看 NT Block Device Objects 的清单,然后采用名称与\\?\Device\Harddisk1\Partition0 相若的项目,它的描述大概会是 Removable media other than floppy. Block size = 512。请极度小心挑选输出设备,否则你也许会覆盖要保留的数据!在我的系统上我执行dd if=CentOS-7.0-1406-DVD.iso of=\\?\Device\Harddisk1\Partition0 —— 你的设备名称及指令也许会有所不同!
旧版 CentOS-6
请留意只有最新的 CentOS 发行版本才会获得支持。我们强烈推荐你只安装最新的次要发行版本。因此你不应利用以下方法,除非你有非常迫切的理由要安装一个较旧及不获支持的发行版本。
针对 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/sdb
syslinux /dev/sdb syslinux /dev/sdb1
- 卸下第一个 USB 分区,然后挂载第二个分区
umount /mnt/USBmount /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 # 分区编号<enter> # 采用缺省值+20m # 增加 20 MBt # 更改类型1 # 分区编号b # VFATn # 新增分区p # 主分区2 # 分区编号<enter> # 采用缺省值<enter> # 采用缺省值a # 切换可开机标志1 # 分区编号w # 写入磁盘
在完成后应该类似这个样子:Disk /dev/sdg: 7948 MB, 7948206080 bytes81 heads, 10 sectors/track, 19165 cylindersUnits = cylinders of 810 * 512 = 414720 bytesDisk 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/sdg1mkfs.ext2 -m 0 -b 4096 -L DATA /dev/sdg2
拔出后再插入这个 USB 媒体。这些分区现在应该被挂载在 /media/BOOT 及 /media/DATA。 - 复制 CentOS 的 ISO 档到那个 ext2 分区内。针对 CD 映像档:
cd /dir/of/iso/imagesmkdir /media/DATA/centosmkdir /tmp/cdimagemount -ro loop CentOS-5.4-i386-bin-1of6.iso /tmp/cdimagecp *sum* /media/DATA/centosfor i in 1 2 3 4 5 6; do cp -v CentOS-5.4-i386-bin-${i}of6.iso /media/DATA/centos/; sync; donecd /media/DATA/centosgrep 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/; synccd /media/DATA/centosgrep DVD sha1sum.txt | sha1sum -c - CentOS-5.4-i386-bin-DVD.iso
- 在 VFAT 分区及 MBR 内安装并设置 syslinux:
syslinux -s /dev/sdg1dd if=/usr/share/syslinux/mbr.bin of=/dev/sdgcd /media/BOOTcp -rv /tmp/cdimage/isolinux syslinuxmv syslinux/isolinux.cfg syslinux/syslinux.cfgrm -f syslinux/isolinux.binumount /tmp/cdimage<your-favorite-editor> syslinux/syslinux.cfg
在各部份的 append 语句内加入:method=hd:sda2:/centos
若然要采用 kickstart:ks=hd:sda2:/ks.cfg method=hd:sda2:/centos
- 使用图像界面来「安全地删除」这个 USB 媒体。将它转到目标系统,开机并进行安装。
- 如何通过 USB 设备来安装 CentOS
- 如何通过 USB 设备来安装 CentOS
- 如何通过 USB 设备来安装 CentOS
- 如何通过 WinUSB 功能访问 USB 设备
- 如何通过一个USB闪盘安装WindowsVista
- 【安全牛学习笔记】使用 USB 设备来安装系统
- 通过组策略及注册表如何禁用USB设备
- WinCE 设备如何通过 USB 与 Android 手机互联?
- 如何禁止USB设备
- 如何屏蔽USB设备
- 如何查看USB设备
- usb设备如何检测
- 如何通过编译内核来安装Mosix?
- U盘通过局域网来安装CentOS 6.0
- 用U盘通过局域网来安装CentOS 6.0
- 用U盘通过局域网来安装CentOS 6.0
- centos通过添加chrome源来安装chrome
- 如何禁用 USB 存储设备
- 优秀PHP程序员应具备的5大能力
- 通过Blueprint进行模块化的Flask应用开发[转]
- jni程序开发简单示例和说明(eclipse + Microsoft Visual Studio 2010)
- sqlite3 compile error
- 【数据结构基础】线性表的链式存储结构--单链表
- 如何通过 USB 设备来安装 CentOS
- APUE习题3.2----自己实现的dup2( )函数的源码
- NYOJ 744 蚂蚁的难题(一) (位运算)
- Jquery给form表单的action赋值
- 漫谈css布局
- 关于常用正则
- Swift之UINavigationBar风格设置
- ubuntu增加磁盘空间
- 优秀程序员的良好的学习方式,特征,生活和学习的习惯