文章目录
前言
上一篇文章介绍了如何打包一个rocky8.9系统:如何打包Linux操作系统(以rockyLinux8.9为例)。
本文将介绍如何安装已经打包好的系统。
一、安装准备
所需设备:
①一个已经制作成启动盘的U盘,里面有centos的镜像。
②需要安装打包系统的空白系统盘。
③已经打包好的两个系统包
二、安装系统
1.插入启动盘,进入BIOS修改启动项为U盘启动
一般设备过自检后可通过按del键进入Bios;进入bios后,修改启动项位置在Boot选项。
修改后用F4或F10保存并重启设备,进入U盘引导界面,选择centos7的镜像。
2.进行磁盘分区
(1)打开磁盘管理器,在左上角活动-工具-磁盘,确认磁盘分区号;例如我使用的是m.2的硬盘,则系统显示的分区号应该是/dev/nvme0n1.
(2)确认系统分区情况
下表罗列了本次要安装的系统分区情况,具体分区大小可根据自己的磁盘大小而定,efi和boot分区不变,swap和root分区大小可根据实际情况调整。
博主的分区是将efi单独分离挂载,便于后续系统维护。
| 分区名 | 大小 | 格式 | 标签 |
|---|---|---|---|
| /boot/efi | 200M | efi | |
| /boot | 2G | ext4 | BOOT |
| swap | 16G | swap | SWAP |
| / | 300G | ext4 | ROOT |
(3)打开终端,切root权限,进行分区
su
gdisk /dev/nvme0n1 #空闲设备分区路径,也是要安装的系统盘路径
p #查看当前分区,未分区输出是空的
n #新建分区,后面两个选项直接回车,系统默认参数就行
+200m #该选项是laster……,是询问分区大小,给100m,然后两次回车
p #查看分区是否新建成功,成功会有一条分区信息
n #同样的操作,回车两次直至出现lasterxxx
+2G #分配给boot的大小,回车两次
p #查看是否新建成功,此时应有两个分区
n #新建swap分区,回车两次
+16G #分配给swap分区的大小;输入后回车两次
p #查看3个分区是否全部新建完毕
n #新建root分区,回车两次直至出现lasterxxx
+300G #分配root空间300G,回车两次
p #查看4个分区是否全部新建完毕
此时分区情况应该和下图类似:

确认4个分区无误后,在当前终端继续输入:
t #改变分区类型代码
1 #选择分区号为1的分区,也是EFI分区
EF00 #设置分区类型为EFI
w #写入
Y #确认退出
此时看磁盘,四个分区已经分好。如果没有实时刷新,或硬盘原本有分区的,可以在终端输入指令刷新磁盘分区:
partprobe
附输入指令解析:

3.格式化分区
在终端输入指令,分别将新建好的分区格式化并设置标签:
mkfs.fat /dev/nvme0n1p1 #后接efi分区路径,格式化efi分区
mke2fs -t ext4 -L BOOT /dev/nvme0n1p2 #后接boot分区路径,格式化boot分区并设置标签
mke2fs -t ext4 -L ROOT /dev/nvme0n1p4 #格式化root分区
mkswap -L SWAP /dev/nvme0n1p3 #格式化swap分区并设置标签
具体的分区路径,可根据实际的分区路径名修改。
附指令解析:
| mke2fs | -t | ext4 | -L | BOOT | /dev/nvme0n1p2 |
|---|---|---|---|---|---|
| 格式化指令 | 参数 | 指定格式化类型为ext4 | 参数 | 要设置的标签名 | 指定要设置的分区路径 可更改 |
4.挂载目录
分区完成后,要将已格式化并设置好标签的分区进行挂载。
mount /dev/nvme0n1p1 /srv
mount /dev/nvme0n1p2 /mnt
mount /dev/nvme0n1p4 /media
此时三个目录都是空的。
5.拷贝系统包并解压
上一篇文章里已经打包好的系统包压缩包,博主放到另一台设备上了,可以通过scp指令直接拷贝到本地。如果是放在u盘的朋友们,可以通过U盘直接拷到对应目录,即,boot包放在/mnt下,root包放在/media下。
下面是通过scp拷贝的指令:
scp 用户名@ip地址:/前置路径/boot.tar.bz2 /mnt
scp 用户名@ip地址:/前置路径/root.tar.bz2 /media
例:
scp user@192.168.1.x:/root/boot.tar.bz2 /mmnt
拷贝完成后,要进入到对应目录解压,同样需要安装pzip2工具,工具下载链接:pbzip2包,安装:
chmod +x pbzip2-1.1.13-14.el10.x86_64.rpm
rpm -ivh pbzip2-1.1.13-14.el10.x86_64.rpm
然后进入对应目录进行解压:
cd /mnt
ls #查看当前目录下的内容
pbzip2 -d boot.tar.bz2 #解压第一层
ls
tar -xvf boot.tar #解压第二层,解压至当前目录下
#同时打开第二个终端,切root,解压root包:
su
cd /media
ls
pbzip2 -d root.tar.bz2 #解压第一层
ls
tar -xvf root.tar #解压第二层
root包较大的话解压时间会比较久,需要耐心等待。
附scp指令解析:①从目标主机发往本地:
| scp | -r | 用户名@目标主机ip:/文件路径/文件名 | /home/user/Dowload |
|---|---|---|---|
| 远程拷贝指令 | 参数,拷文件夹加-r | 目标主机路径 | 本地路径 |
②从本地发往目标主机:
| scp | -r | /home/user/Dowload | 用户名@目标主机ip:/文件路径/文件名 |
|---|---|---|---|
| 远程拷贝指令 | 参数,拷文件夹加-r | 本地路径 | 目标主机路径 |
5.1.拷贝efi目录
另开一个终端,切root权限
cp -r /mnt/efi/* /srv
ls /srv/EFI/rocky #查看该目录下是否存在grub.cfg文件
此步保证/srv下一定有EFI文件夹。
6.修改fstab文件
root包解压完成后,需要修改里面的etc/fstab文件,这个文件里的内容指定了开机系统要挂载上什么分区。执行指令:
vim /media/etc/fstab
将里面的内容修改如下图所示:

主要修改为LABEL绑定,文件内原有内容可在前面加#号注释。
7.下载grub2引导文件
使用centos7的livecd下载东西前需要先换源,因为国外的镜像源已经停止维护了。在root权限下执行指令:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1)下载gru2工具
yum install grub2-efi-x64-modules
2)指定路径
grub2-install /dev/nvme0n1p1 --boot-directory=/mnt --efi-directory=/srv
下载成功后,/mnt下会有一个grub2文件夹。
7.1 修改引导文件
执行指令
cd /mnt/grub2
vim grub.cfg
找到下图所示的这一段,主要更改:
①uuid-set=root xxx 后面的改成boot的uuid;在磁盘分区下查看boot的uuid并修改;
②检查系统内核是否是4.18;可ls /mnt 查看已存在的系统内核版本,如果不是,复制/mnt下存在的内核文件名,到grub.cfg下粘贴更改;一般此处不用更改,谨慎更改,改错了容易进不去系统。
③可在文件前添加两行指令,避免开机时的报错提示

修改完成后,将改好的grub.cfg文件拷贝一份至rocky的引导内:
mv /srv/EFI/rocky/grub.cfg /srv/EFI/rocky/grub.cfg-bak
cp /mnt/grub2/grub.cfg /srv/EFI/rocky
8.修复系统引导
前面已经下载完好grub2的工具了,执行指令直接输出引导文件即可。
grub2-mkconfig -o /dev/shm/grub.cfg
正常输出中有rocky8.9的引导,说明引导修复已成功。
此时可以取消挂载,重启设备,进入bios查看引导是否已经生成:
umount /mnt /media /srv
reboot
注意取消挂载前先将已占用的终端全部退出。
进入bios后,将引导项切回Haid Disk:grub xxx,保存退出,能正常进入系统的话,说明打包系统已经安装成功。
总结
本文介绍了如何安装已经打包好的Linux操作系统,主要操作流程是:进行硬盘分区,拷贝系统包、解压、修改系统配置文件、修复系统引导,重启验证设备是否重装成功。
顺利的话开机后便可以正常进入系统,如果进入系统出现问题,则需要重点检查修改系统配置文件的步骤是否有遗漏或者误修改的地方。
欢迎在评论区下留言交流。
3759

被折叠的 条评论
为什么被折叠?



