admin管理员组

文章数量:1568309

在这篇博客中,我将详细介绍如何手动安装 openEuler 操作系统,包括根文件系统的备份、使用 U 盘引导、手动磁盘分区、挂载分区、解压根文件系统、挂载必要的文件系统、使用 chroot 进入新系统、生成 grub.cfg、更新 initramfs,以及使用 efibootmgr 添加 UEFI 启动项。整个过程将尽量使用脚本自动化,以减少手动操作。

1. 准备工作

首先,确保你已经有了 openEuler 的根文件系统压缩包(如 rootfs.tar.gz),并且已经制作了一个可引导的 openEuler 安装 U 盘。

2. U 盘引导进入安装环境

将制作好的 openEuler 安装 U 盘插入目标机器并进入 BIOS 设置,选择从 U 盘引导。进入 openEuler Live 环境后,打开终端。

3. 备份现有根文件系统(可选)

如果你希望备份现有的根文件系统,可以使用以下命令:

mkdir -p /mnt/backup
mount /dev/sdXn /mnt/backup  # 替换为当前系统的根分区
tar czf /mnt/backup/rootfs_backup.tar.gz -C /mnt/backup .
umount /mnt/backup
4. 使用 parted 手动磁盘分区

使用 parted 进行手动磁盘分区。以下是一个自动化脚本示例,适用于 sda 磁盘:

parted /dev/sda <<EOF
mklabel gpt  # 创建 GPT 分区表
unit MB  # 设置单位为 MB
mkpart efi 1M 200M  # 创建 EFI 分区,大小为 199MB, 似乎64MB 就够用了
set 1 esp on  # 将第一个分区标记为 EFI 系统分区 
mkpart primary 200M 2000M  # 创建启动分区,大小为1.8GB
mkpart primary 2000M 100%  # 创建根分区,使用剩余的磁盘空间
quit
EOF
5. 格式化分区

分区完成后,使用以下命令格式化各分区:

# 格式化EFI分区为FAT32
mkfs.vfat -F32 /dev/sda1

# 格式化启动分区(通常是ext4、ext3、xfs)
mkfs.ext4 /dev/sda2

# 格式化根分区(通常是ext4、ext3、xfs)
mkfs.ext4 /dev/sda3
6. 挂载分区

将格式化后的分区挂载到相应的目录:

mount /dev/sda3 /mnt  # 挂载根分区
mkdir -p /mnt/boot
mount /dev/sda2 /mnt/boot  # 挂载启动分区
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi  # 挂载EFI分区

7. 解压根文件系统

将 rootfs 解压到根分区中:

tar xzf /path/to/rootfs.tar.gz -C /mnt
8. 挂载必要的文件系统

chroot 之前,需要挂载系统所需的虚拟文件系统:

mount -t proc /proc /mnt/proc
mount -t sysfs /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount -t efivarfs efivarfs /mnt/sys/firmware/efi/efivars
另一个版本:
mount -o bind  /proc/ /mnt/proc/
mount -o bind  /sys/ /mnt/sys/
mount -o bind  /dev/ /mnt/dev/
mount -o bind  /dev/log /mnt/dev/log
mount -o bind  /sys/firmware/efi/efivars/ /mnt/sys/firmware/efi/efivars/
9. 进入 chroot 环境

使用以下命令进入新系统的 chroot 环境:

chroot /mnt bin/bash --login
10. 生成 grub.cfg

chroot 环境中,生成 grub.cfg 文件:

grub2-mkconfig -o /boot/efi/EFI/uos/grub.cfg
11. 更新 initramfs

使用 dracut 工具更新 initramfs:您需要替换成自己的内核版本。

/usr/bin/dracut -f /boot/initramfs-5.10.0-74.uelc20.x86_64.img 5.10.0-74.uelc20.x86_64
/usr/bin/dracut -f --no-hostonly -a rescue /boot/initramfs-0-rescue-c7749168a97241159305d1f4d5391e84.img 5.10.0-74.uelc20.x86_64
/usr/bin/dracut -f --kver 5.10.0-74.uelc20.x86_64
12. 添加 UEFI 启动项

使用 efibootmgr 添加 UEFI 启动项:

efibootmgr -c -w -L 'UOS Server' -d /dev/sda -p 1 -l \\EFI\\uos\\shimx64.efi

确保 --disk--part 参数指向正确的磁盘和 EFI 分区。

13. 修改/etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
14. 退出 chroot 并重启

退出 chroot 并卸载所有挂载的分区:

exit
umount -R /mnt
reboot

到此为止,openEuler 的手动安装就完成了。系统应该能够正常从新安装的操作系统启动。通过这种方式,你可以灵活地控制操作系统的安装过程,定制符合自己需求的系统环境。

本文标签: 启动项操作系统OpenEulerUEFI