本地硬盘安装CentOS需先分区存放ISO,再通过GRUB2配置引导项加载ISO内核与初始化镜像,指定安装源为本地硬盘分区,重启后进入安装界面完成系统部署。

从本地硬盘安装CentOS系统,核心在于巧妙地引导安装程序找到硬盘上的ISO镜像文件。这通常涉及预先在硬盘上划出一个分区存放ISO,然后通过修改启动引导器(如GRUB2)的配置,让系统启动时加载ISO中的内核和初始化内存盘,并指明安装源路径。相比U盘或光盘安装,它确实需要多一点点前期配置的耐心和细致,但一旦掌握,会发现这种方式在特定场景下非常高效且实用。
解决方案
本地硬盘安装CentOS的详细步骤,我个人总结下来,主要分以下几个阶段:
准备工作:下载ISO与硬盘分区首先,你需要从CentOS官方网站下载你想要安装的CentOS版本ISO镜像文件。我通常会选择Stream版本,因为它更新更快,更贴近RHEL的开发前沿。接下来,是硬盘分区。你需要一个独立的、足够大的分区来存放这个ISO文件。这个分区可以是现有Linux系统中的一个分区,也可以是你专门为此次安装创建的新分区。我习惯用
ext4
格式,因为它兼容性好,而且稳定性也不错。比如,你可以创建一个
/dev/sda4
这样的分区,将其挂载到
/mnt/iso
,然后把下载好的ISO文件复制进去。确保这个分区有足够的空间,CentOS的ISO文件通常有好几个GB。
配置GRUB2引导安装程序这是整个过程中最关键的一步。我们需要编辑GRUB2的配置文件,添加一个引导项,让它能够启动ISO中的安装程序。如果你当前系统已经安装了Linux,并且使用GRUB2作为引导器,你可以编辑
/etc/grub.d/40_custom
文件,添加如下内容(请根据你的实际情况修改分区设备名、ISO文件名和分区标签):
menuentry 'Install CentOS Stream from Hard Drive' { set isofile="/CentOS-Stream-8-x86_64-latest-boot.iso" # ISO文件名,确保路径正确 set root=(hd0,4) # 假设ISO文件放在/dev/sda4,hd0代表第一块硬盘,4代表第四个分区(从1开始计数) # 或者使用UUID更稳妥:set root=UUID= loopback loop $isofile linux (loop)/images/pxeboot/vmlinuz inst.stage2=hd:LABEL= quiet # 替换为你的ISO分区标签 # 如果你的ISO文件放在分区的某个子目录下,比如/iso/CentOS.iso,那么inst.stage2=hd:LABEL=:/iso initrd (loop)/images/pxeboot/initrd.img}
这里有几个需要注意的点:
set root=(hd0,4)
:
hd0
通常指第一块硬盘(
/dev/sda
),
4
指第四个分区(
/dev/sda4
)。GRUB的分区计数是从1开始的,与Linux的
sda
后面数字一致。
inst.stage2=hd:LABEL=
:这一行至关重要,它告诉安装程序去哪个分区找第二阶段的安装文件。我个人更倾向于使用
LABEL
或
UUID
而不是设备名(如
/dev/sda4
),因为设备名在系统启动时可能会变,而标签或UUID则固定不变,这能大大增加引导的稳定性。你可以用
sudo blkid
命令查看分区标签和UUID。
images/pxeboot/vmlinuz
和
images/pxeboot/initrd.img
:这是CentOS ISO中安装程序的核心文件路径,对于CentOS Stream 8/9通常是这个路径。
保存文件后,别忘了更新GRUB配置:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
如果你是UEFI系统,路径可能是
/boot/efi/EFI/centos/grub.cfg
,具体请根据你的系统来。
启动安装与系统配置重启计算机,在GRUB菜单中选择你刚刚添加的“Install CentOS Stream from Hard Drive”选项。如果一切顺利,系统将进入CentOS的图形安装界面。接下来的步骤就和U盘安装大同小异了:
选择语言和键盘布局。安装源: 这一步很关键。安装程序通常会自动检测到你通过
inst.stage2
参数指定的本地硬盘作为安装源。如果它没有自动识别,你需要手动选择“本地硬盘”,然后指定你存放ISO文件的分区(比如
/dev/sda4
)和ISO文件在分区内的路径(如果ISO直接放在根目录,就留空或
/
)。软件选择、分区配置(小心不要覆盖存放ISO的分区!)、网络配置、设置root密码和创建用户。
安装完成与清理安装完成后,系统会提示你重启。重启后,新安装的CentOS系统就应该能够正常启动了。你可以选择删除GRUB中为本地硬盘安装添加的引导项,也可以删除存放ISO文件的分区,释放空间。
本地硬盘安装CentOS有哪些优势和局限性?
在我看来,本地硬盘安装CentOS这种方式,既有它独特的魅力,也存在一些不容忽视的局限。
优势:
无需外部介质: 这是最显而易见的优点。当手头没有U盘、光驱,或者机器本身就没有这些接口时(比如一些老旧的服务器或者虚拟机),本地硬盘安装就成了救命稻草。我曾经在没有物理访问权限的服务器上,通过现有Linux系统远程配置GRUB,然后进行系统重装,效率非常高。安装速度可能更快: 理论上,从本地硬盘读取数据比从USB2.0接口的U盘读取要快得多,尤其是在硬盘本身性能不错的情况下。虽然实际体验可能差异不大,但心理上总觉得更顺畅一些。重复安装便捷: 如果你需要在一台机器上多次安装或测试CentOS,比如进行不同配置的实验,将ISO文件保留在硬盘上,可以省去反复制作启动盘的麻烦。
局限性:
配置复杂性高: 相比直接用工具制作启动U盘,本地硬盘安装需要手动配置GRUB引导,理解分区、文件系统、内核参数等概念。这对于新手来说,确实是个不小的门槛。我刚开始尝试时,光是GRUB参数就试了好几种才搞定。操作风险: 涉及到硬盘分区和GRUB配置,一旦操作失误,轻则无法启动安装程序,重则可能导致现有系统无法启动,甚至数据丢失。所以,动手前备份数据是金科玉律。需要现有系统或救援环境: 如果你的硬盘是全新的,或者上面没有任何可用的操作系统来配置GRUB,那么你还是需要一个临时的启动介质(比如一个Live CD/USB)来进入救援模式,手动设置GRUB。这多少有点“脱裤子放屁”的感觉,但有时候就是没办法。
如何为本地硬盘安装CentOS准备引导环境和ISO文件?
准备引导环境和ISO文件是本地硬盘安装成功的基石,可以说,这一步做好了,后面就成功了一大半。
帮衣帮-AI服装设计
AI服装设计神器,AI生成印花、虚拟试衣、面料替换
106 查看详情
首先,ISO文件的放置。我通常会选择一个独立的分区来存放ISO文件,而不是直接放在某个现有系统的根目录下。这样做的原因有二:一是避免在安装过程中误操作删除;二是在GRUB配置时,指定一个独立分区的LABEL或UUID,会更清晰,也更不容易出错。你可以用
fdisk
或
gparted
等工具创建一个新的
ext4
或
xfs
分区,然后挂载它,把CentOS的ISO文件完整地复制进去。记住,不要解压ISO,直接复制整个文件。
其次,GRUB引导环境的配置。这块是技术含量最高的地方。核心思路是利用GRUB的
loopback
功能来模拟光盘。
loopback
命令可以让GRUB把一个ISO文件当作一个块设备来处理,然后我们就可以从这个“虚拟设备”中加载内核和initrd。
具体到GRUB配置,我们前面给出的
menuentry
模板就是最好的范例。我再强调几个关键点:
set isofile="/CentOS-Stream-8-x86_64-latest-boot.iso"
: 确保这个路径是相对于你ISO文件所在分区的根目录而言的。如果你把ISO放在了
/mnt/iso/my_isos/CentOS.iso
,那么在GRUB配置中,如果你的ISO分区挂载点是
/mnt/iso
,那么
set isofile="/my_isos/CentOS.iso"
。
set root=(hd0,4)
或
set root=UUID=
: 这里的
root
变量指定了GRUB去哪个物理分区寻找
$isofile
。我强烈建议使用
UUID
。你可以通过
lsblk -f
或
blkid
命令来获取分区的UUID。例如,如果你的ISO分区UUID是
a1b2c3d4-e5f6-7890-1234-567890abcdef
,那么就写
set root=UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef
。
linux (loop)/images/pxeboot/vmlinuz inst.stage2=hd:LABEL=
:
inst.stage2
参数是告诉CentOS安装程序,去哪里找它的第二阶段安装文件。
hd:
表示从硬盘寻找。
LABEL=
:这是最常用且稳妥的方式,因为分区标签不容易变。确保你为存放ISO的分区设置了一个唯一的标签,比如
CENTOS_ISO
。
UUID=
:同样非常稳妥,语法是
inst.stage2=hd:UUID=
。
/dev/sdXN
:也可以用设备名,如
inst.stage2=hd:/dev/sda4
,但正如我之前所说,设备名有变动的风险。如果ISO文件在分区的子目录下,比如
/my_isos/CentOS.iso
,那么参数应该是
inst.stage2=hd:LABEL=:/my_isos
。
配置完成后,运行
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
更新GRUB配置。这一步是把你的自定义条目整合到主引导菜单中。如果没有这一步,你重启后是看不到新添加的引导项的。
本地硬盘安装CentOS过程中常见的疑难杂症与解决方案
在实际操作中,本地硬盘安装CentOS确实会遇到一些小麻烦,但大多数都有章可循。
1. GRUB菜单中看不到新的引导项,或者选择后无法启动:
问题诊断: 最常见的原因是GRUB配置文件没有正确更新。解决方案: 仔细检查你是否运行了
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
(或对应UEFI路径的命令)。此外,检查
/etc/grub.d/40_custom
文件中是否有语法错误,比如引号不匹配、路径写错等。有时候,一个简单的手误就能导致整个引导失败。我个人就经常因为少打一个斜杠而抓狂。
2. 安装程序启动后,提示找不到安装源(”Error setting up base repository”或类似错误):
问题诊断: 这通常意味着
inst.stage2
参数有问题,安装程序没能正确找到ISO文件或其内部的安装文件。解决方案:检查
inst.stage2
参数: 确认你提供的
LABEL
或
UUID
是否与存放ISO文件的分区完全匹配。大小写、拼写都不能错。ISO文件完整性: 检查ISO文件是否损坏。你可以用
sha256sum
命令计算下载文件的哈希值,然后与官方提供的哈希值进行比对。如果哈希值不一致,那就需要重新下载ISO了。ISO文件路径: 确认ISO文件是否直接放在分区的根目录。如果放在子目录,
inst.stage2
参数需要加上子目录路径,例如`inst.stage2=hd:LABEL=CENTOS_ISO
以上就是怎么从硬盘安装CentOS_本地硬盘安装CentOS系统步骤教程的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/585218.html
微信扫一扫
支付宝扫一扫