在没有USB闪存驱动器或DVD等物理介质的情况下,通过硬盘直接安装CentOS是一种高效且灵活的部署方式,这种方法的核心在于利用已有的Linux环境和GRUB(GRand Unified Bootloader)引导加载程序来启动CentOS的安装程序,本文将详细介绍这一过程,帮助您理解并掌握CentOS的GRUB硬盘安装技术。
准备工作
在开始之前,请确保您已具备以下条件:
- 一个正在运行的Linux操作系统(可以是任何发行版,如Ubuntu、Debian,甚至是另一个CentOS系统)。
- 下载好的CentOS ISO镜像文件。
- 硬盘上有足够的未分配空间,用于创建新的CentOS分区。
- 具备基本的Linux命令行操作知识和对硬盘分区概念的理解。
第一步:磁盘分区与挂载
我们需要为CentOS的安装文件准备一个专属分区,您可以使用fdisk
、gdisk
或parted
等工具来创建分区,假设我们创建了一个新的分区,例如/dev/sda3
。
创建好分区后,格式化它,使用ext4文件系统:
sudo mkfs.ext4 /dev/sda3
创建一个挂载点并将新分区挂载上去,以便我们向其中复制文件:
sudo mkdir /mnt/centos sudo mount /dev/sda3 /mnt/centos
第二步:提取ISO镜像内容
我们需要将CentOS ISO镜像中的所有文件复制到刚刚挂载的分区中,挂载ISO文件本身:
sudo mkdir /mnt/iso sudo mount -o loop /path/to/your/CentOS.iso /mnt/iso
请将/path/to/your/CentOS.iso
替换为您实际的ISO文件路径,使用cp
命令将ISO内的所有内容复制到目标分区,使用-a
参数可以保留文件权限和属性:
sudo cp -a /mnt/iso/* /mnt/centos/
复制过程可能需要几分钟时间,具体取决于您的硬盘速度,完成后,您可以卸载ISO镜像:
sudo umount /mnt/iso
/dev/sda3
分区已经包含了完整的CentOS安装源。
第三步:配置GRUB引导
这是整个硬盘安装过程的关键步骤,我们需要配置当前系统的GRUB,添加一个菜单项来启动CentOS安装程序。
确定存放CentOS文件的分区,在我们的例子中是/dev/sda3
,在GRUB中,硬盘通常从0开始计数,分区也从1开始。/dev/sda
对应(hd0)
,/dev/sda3
则对应(hd0,3)
。
我们需要编辑GRUB配置文件,在大多数现代Linux系统中,可以通过编辑/etc/grub.d/40_custom
文件来添加自定义菜单项,这样更安全,不会被系统更新覆盖。
sudo nano /etc/grub.d/40_custom
在文件末尾添加以下内容:
menuentry "CentOS Hard Drive Install" { set root=(hd0,3) linux /images/pxeboot/vmlinuz inst.stage2=hd:/dev/sda3 inst.repo=hd:/dev/sda3 quiet initrd /images/pxeboot/initrd.img }
代码解释:
menuentry "CentOS Hard Drive Install"
:定义了一个在GRUB菜单中显示的条目。set root=(hd0,3)
:设置GRUB的根设备为我们的目标分区/dev/sda3
。linux /images/pxeboot/vmlinuz ...
:指定Linux内核文件的位置,并传递关键参数。-
inst.stage2=hd:/dev/sda3
:告诉安装程序,第二阶段(安装镜像)位于/dev/sda3
分区。 -
inst.repo=hd:/dev/sda3
:指定安装软件包的仓库位置,同样指向/dev/sda3
。
-
initrd /images/pxeboot/initrd.img
:指定初始RAM磁盘(initrd)文件的位置,它在内核启动时加载必要的驱动和模块。
保存文件后,更新GRUB配置以使更改生效:
sudo update-grub
(在某些基于RHEL/Fedora的系统上,命令可能是sudo grub2-mkconfig -o /boot/grub2/grub.cfg
)。
第四步:重启并开始安装
一切准备就绪,重启您的计算机,在启动时,GRUB菜单将会出现,您应该能看到一个名为“CentOS Hard Drive Install”的新选项。
选择此选项并回车,系统将加载vmlinuz
内核和initrd.img
,然后启动CentOS的图形化或文本化安装程序,接下来的安装过程与使用USB或DVD安装完全相同,您可以在Anaconda安装程序中进行分区、设置用户密码以及选择要安装的软件包。
安装完成后,GRUB将被重新安装到主引导记录(MBR)或EFI系统分区(ESP),它会自动检测已安装的CentOS系统,并创建一个永久性的启动条目,取代我们之前创建的临时安装条目。
相关问答FAQs
问题1:安装完成后,我无法启动原来的Windows系统,GRUB菜单里没有Windows选项,该怎么办?
解答: 这是一个常见的多系统引导问题,CentOS安装程序可能未能自动识别并添加Windows启动项,您可以在CentOS系统中手动更新GRUB配置,打开终端,运行以下命令:
sudo os-prober
此命令会扫描硬盘上的其他操作系统,如果它能检测到Windows,接着运行:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
这个命令会重新生成GRUB配置文件,并将检测到的Windows系统添加到启动菜单中,重启后,您就应该能看到Windows的启动选项了。
问题2:我的计算机使用UEFI模式,硬盘安装过程有什么不同吗?
解答: 是的,UEFI模式下的硬盘安装过程略有不同,主要区别在于GRUB的配置和文件位置。
- 分区: 您需要一个EFI系统分区(ESP),通常是FAT32格式,并已挂载(例如在
/boot/efi
)。 - GRUB配置: 在
menuentry
中,您需要使用linuxefi
和initrdefi
命令来代替传统的linux
和initrd
,因为UEFI固件需要这些特定的命令来加载内核。 - 路径: 内核和initrd的路径需要是相对于ESP分区的,如果将CentOS安装文件放在了ESP分区的
/centos
目录下,路径可能需要相应调整。 - GRUB安装: 确保您的当前Linux系统是以UEFI模式启动的,并且安装了
grub-efi
或grub2-efi
包,更新GRUB配置的命令通常是相同的,但底层会处理UEFI相关的变量和文件。
总体而言,UEFI模式下的配置更加细致,但核心思想——通过GRUB指向硬盘上的安装源——是一致的。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复