0

0

怎么从硬盘安装CentOS_本地硬盘安装CentOS系统步骤教程

絕刀狂花

絕刀狂花

发布时间:2025-09-03 14:32:01

|

818人浏览过

|

来源于php中文网

原创

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

怎么从硬盘安装centos_本地硬盘安装centos系统步骤教程

从本地硬盘安装CentOS系统,核心在于巧妙地引导安装程序找到硬盘上的ISO镜像文件。这通常涉及预先在硬盘上划出一个分区存放ISO,然后通过修改启动引导器(如GRUB2)的配置,让系统启动时加载ISO中的内核和初始化内存盘,并指明安装源路径。相比U盘或光盘安装,它确实需要多一点点前期配置的耐心和细致,但一旦掌握,会发现这种方式在特定场景下非常高效且实用。

解决方案

本地硬盘安装CentOS的详细步骤,我个人总结下来,主要分以下几个阶段:

  1. 准备工作:下载ISO与硬盘分区 首先,你需要从CentOS官方网站下载你想要安装的CentOS版本ISO镜像文件。我通常会选择Stream版本,因为它更新更快,更贴近RHEL的开发前沿。 接下来,是硬盘分区。你需要一个独立的、足够大的分区来存放这个ISO文件。这个分区可以是现有Linux系统中的一个分区,也可以是你专门为此次安装创建的新分区。我习惯用

    ext4
    格式,因为它兼容性好,而且稳定性也不错。比如,你可以创建一个
    /dev/sda4
    这样的分区,将其挂载到
    /mnt/iso
    ,然后把下载好的ISO文件复制进去。确保这个分区有足够的空间,CentOS的ISO文件通常有好几个GB。

  2. 配置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=<你的ISO分区UUID>
    
        loopback loop $isofile
        linux (loop)/images/pxeboot/vmlinuz inst.stage2=hd:LABEL=<你的ISO分区标签> quiet # 替换为你的ISO分区标签
        # 如果你的ISO文件放在分区的某个子目录下,比如/iso/CentOS.iso,那么inst.stage2=hd:LABEL=<你的ISO分区标签>:/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=<你的ISO分区标签>
      :这一行至关重要,它告诉安装程序去哪个分区找第二阶段的安装文件。我个人更倾向于使用
      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
    ,具体请根据你的系统来。

  3. 启动安装与系统配置 重启计算机,在GRUB菜单中选择你刚刚添加的“Install CentOS Stream from Hard Drive”选项。 如果一切顺利,系统将进入CentOS的图形安装界面。接下来的步骤就和U盘安装大同小异了:

    • 选择语言和键盘布局。
    • 安装源: 这一步很关键。安装程序通常会自动检测到你通过
      inst.stage2
      参数指定的本地硬盘作为安装源。如果它没有自动识别,你需要手动选择“本地硬盘”,然后指定你存放ISO文件的分区(比如
      /dev/sda4
      )和ISO文件在分区内的路径(如果ISO直接放在根目录,就留空或
      /
      )。
    • 软件选择、分区配置(小心不要覆盖存放ISO的分区!)、网络配置、设置root密码和创建用户。
  4. 安装完成与清理 安装完成后,系统会提示你重启。重启后,新安装的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数字人平台

下载

首先,ISO文件的放置。我通常会选择一个独立的分区来存放ISO文件,而不是直接放在某个现有系统的根目录下。这样做的原因有二:一是避免在安装过程中误操作删除;二是在GRUB配置时,指定一个独立分区的LABEL或UUID,会更清晰,也更不容易出错。你可以用

fdisk
gparted
等工具创建一个新的
ext4
xfs
分区,然后挂载它,把CentOS的ISO文件完整地复制进去。记住,不要解压ISO,直接复制整个文件。

其次,GRUB引导环境的配置。这块是技术含量最高的地方。 核心思路是利用GRUB的

loopback
功能来模拟光盘。
loopback
命令可以让GRUB把一个ISO文件当作一个块设备来处理,然后我们就可以从这个“虚拟设备”中加载内核和initrd。

具体到GRUB配置,我们前面给出的

menuentry
模板就是最好的范例。我再强调几个关键点:

  1. 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"
  2. set root=(hd0,4)
    set root=UUID=<你的ISO分区UUID>
    : 这里的
    root
    变量指定了GRUB去哪个物理分区寻找
    $isofile
    。我强烈建议使用
    UUID
    。你可以通过
    lsblk -f
    blkid
    命令来获取分区的UUID。例如,如果你的ISO分区UUID是
    a1b2c3d4-e5f6-7890-1234-567890abcdef
    ,那么就写
    set root=UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef
  3. linux (loop)/images/pxeboot/vmlinuz inst.stage2=hd:LABEL=<你的ISO分区标签>
    :
    inst.stage2
    参数是告诉CentOS安装程序,去哪里找它的第二阶段安装文件。
    • hd:
      表示从硬盘寻找。
    • LABEL=<你的ISO分区标签>
      :这是最常用且稳妥的方式,因为分区标签不容易变。确保你为存放ISO的分区设置了一个唯一的标签,比如
      CENTOS_ISO
    • UUID=<你的ISO分区UUID>
      :同样非常稳妥,语法是
      inst.stage2=hd:UUID=<你的ISO分区UUID>
    • /dev/sdXN
      :也可以用设备名,如
      inst.stage2=hd:/dev/sda4
      ,但正如我之前所说,设备名有变动的风险。
    • 如果ISO文件在分区的子目录下,比如
      /my_isos/CentOS.iso
      ,那么参数应该是
      inst.stage2=hd:LABEL=<你的ISO分区标签>:/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

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

187

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

271

2023.10.25

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1017

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

62

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

400

2025.12.29

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1348

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

701

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 4.4万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号