首页 > 运维 > CentOS > 正文

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

絕刀狂花
发布: 2025-09-03 14:32:01
原创
797人浏览过
本地硬盘安装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服装设计
帮衣帮-AI服装设计

AI服装设计神器,AI生成印花、虚拟试衣、面料替换

帮衣帮-AI服装设计106
查看详情 帮衣帮-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

以上就是怎么从硬盘安装CentOS_本地硬盘安装CentOS系统步骤教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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