在Windows环境下,若需安装Linux系统(如Ubuntu、CentOS等),但电脑无法直接从Linux安装U盘启动,或需保留Windows系统进行双系统配置,可通过Windows PE(WinPE)环境引导安装,以下是详细步骤,涵盖工具准备、磁盘分区、文件复制及引导配置等关键环节,确保顺利完成Linux安装。
前期准备工作
-
下载必要工具
- WinPE镜像:选择稳定版本,如微PE(WePE)、老毛桃WinPE等,下载ISO格式文件(推荐64位,兼容性更好)。
- Linux发行版ISO:根据需求下载对应版本的Linux镜像(如Ubuntu Desktop 22.04 LTS、CentOS 7等),确保与硬件架构匹配(x86_64)。
- 启动盘制作工具:推荐Ventoy(支持多ISO启动)或Rufus(支持WinPE与ISO写入)。
-
准备U盘
容量建议至少16GB(存放WinPE、Linux ISO及临时安装文件),且U盘内数据需提前备份(制作启动盘会格式化U盘)。
制作WinPE启动盘
以Ventoy为例(支持后续直接加载Linux ISO,无需额外步骤):
- 安装Ventoy:
- 官网下载Ventoy最新版,解压后运行
VentoyGUI.exe
,插入U盘,点击“安装”按钮(默认选择MBR分区表,若为UEFI启动需选GPT)。
- 官网下载Ventoy最新版,解压后运行
- 添加WinPE与Linux ISO:
安装完成后,将WinPE ISO(如WePE.iso)和Linux发行版ISO(如ubuntu-22.04.3-desktop-amd64.iso)直接复制到U盘根目录(无需解压)。
通过WinPE启动电脑
- 设置启动顺序:
插入制作好的WinPE启动盘,重启电脑,进入BIOS/UEFI设置(通常按F2、F10、Del键),将启动顺序调整为“USB-HDD”或“UEFI: USB Ventoy”优先。
- 进入WinPE系统:
从U盘启动后,选择WinPE桌面环境(通常为Windows 10风格),打开磁盘管理工具(如DiskGenius或系统自带“磁盘管理”)。
磁盘分区(关键步骤)
Linux安装需独立分区,建议提前规划分区表(MBR或GPT,需与启动模式匹配:Legacy BIOS选MBR,UEFI选GPT),以GPT分区+UEFI启动为例(当前主流配置):
分区类型 | 推荐大小 | 文件系统 | 挂载点 | 用途说明 |
---|---|---|---|---|
EFI系统分区 | 100-512MB | FAT32 | /boot/efi | 存储UEFI引导文件,需FAT32格式 |
交换分区(swap) | 内存1-2倍 | swap | Linux虚拟内存,避免卡顿 | |
/根分区 | 剩余空间 | ext4 | 存储系统核心文件与用户数据 | |
/boot分区 | 100-200MB | ext4 | /boot | 存储内核与引导模块(可选) |
操作步骤(以DiskGenius为例):
- 删除旧分区:若为全新安装,选中磁盘所有分区,右键“删除分区”(快速格式化),确保磁盘为“未分配”状态。
- 创建新分区:
- EFI分区:右键“新建分区”,大小设为512MB,文件系统选“FAT32”,勾选“ESP”标志(UEFI必备),盘符可自定义(如E:)。
- 交换分区:剩余空间中划出内存1-2倍容量(如8GB内存划16GB),文件系统选“swap”,不分配盘符。
- 根分区:剩余空间全部作为根分区,文件系统选“ext4”,挂载点设为“/”。
- (可选)/boot分区:若需独立引导分区,可在根分区前划出100-200MB,文件系统“ext4”,挂载点“/boot”。
- 保存分区表:点击“保存”按钮,确认后分区生效。
挂载分区与复制Linux安装文件
- 创建挂载点:在WinPE桌面新建文件夹(如
D:linux
),后续将Linux系统文件复制至此,再挂载到实际分区。 - 挂载Linux分区:
- 打开命令提示符(CMD),通过
blkid
命令查看各分区UUID(如根分区为/dev/sda2
,EFI为/dev/sda1
)。 - 创建挂载目录:
mkdir /mnt/linux
(假设根分区为/dev/sda2
),执行mount /dev/sda2 /mnt/linux
挂载根分区;若创建/boot分区,需额外执行mount /dev/sda3 /mnt/linux/boot
(sda3为/boot分区)。 - 挂载EFI分区:
mount /dev/sda1 /mnt/linux/boot/efi
(确保路径与分区一致)。
- 打开命令提示符(CMD),通过
- 复制Linux ISO内容:
- 将Linux ISO镜像(如ubuntu-22.04.3-desktop-amd64.iso)通过WinPE中的解压工具(如7-Zip)解压至
D:linux
目录(或直接用命令行:mount -o loop D:ubuntu.iso /mnt/iso && cp -r /mnt/iso/* /mnt/linux
)。
- 将Linux ISO镜像(如ubuntu-22.04.3-desktop-amd64.iso)通过WinPE中的解压工具(如7-Zip)解压至
安装Linux引导程序(GRUB)
- 进入chroot环境:
- 挂载必要系统目录:
mount --bind /proc /mnt/linux/proc
,mount --bind /sys /mnt/linux/sys
,mount --bind /dev /mnt/linux/dev
。 - 切换根目录:
chroot /mnt/linux /bin/bash
(后续命令均在Linux环境中执行)。
- 挂载必要系统目录:
- 安装GRUB引导:
- 更新软件包列表(若安装的是Ubuntu/Debian):
apt update
(CentOS需用yum update
)。 - 安装GRUB:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Linux
(若为Legacy BIOS,需用grub-install /dev/sda
)。 - 生成引导配置:
update-grub
(会自动扫描系统内核并生成菜单)。
- 更新软件包列表(若安装的是Ubuntu/Debian):
- 配置fstab:
- 通过
blkid
查看各分区UUID,编辑/etc/fstab
文件,添加以下内容(示例):UUID=xxxx-xxxx-xxxx / ext4 defaults 0 0 UUID=yyyy-yyyy-yyyy /boot/efi vfat defaults 0 1 swap swap swap defaults 0 0
(需替换为实际分区UUID,可通过
blkid
命令获取。)
- 通过
配置系统与重启
- 设置基本配置:
- 创建用户:
adduser username
(设置密码与信息),usermod -aG sudo username
(赋予管理员权限)。 - 设置主机名:
hostnamectl set-hostname Linux-Host
。
- 创建用户:
- 退出chroot并卸载:
- 执行
exit
退出chroot环境,依次卸载分区:umount /mnt/linux/boot/efi
,umount /mnt/linux/boot
,umount /mnt/linux
,umount /mnt/linux/proc
。
- 执行
- 重启电脑:
- 拔出WinPE启动盘,重启电脑,进入BIOS/UEFI设置,将启动设备改为“硬盘”或“Linux Boot Manager”(GRUB安装后生成的选项)。
- 若GRUB菜单未出现,可尝试手动选择启动项,或重新进入WinPE用
chroot
环境修复GRUB(重复第六步)。
后续验证与问题排查
- 首次启动Linux时,可能需要等待几分钟(初始化文件系统),若进入图形界面,说明安装成功。
- 若无法启动,检查:
- 分区UUID是否与
/etc/fstab
一致; - GRUB是否正确安装到EFI分区或MBR引导记录;
- 磁盘分区格式是否匹配(如UEFI需FAT32的EFI分区)。
- 分区UUID是否与
相关问答FAQs
Q1:用PE安装Linux和直接用Linux安装U盘启动有什么区别?
A:直接用Linux安装U盘启动(如Ubuntu Live USB)更简单,适合全新安装且无需保留Windows的情况;而PE安装Linux的优势在于:① 可在Windows环境下快速引导,解决部分电脑无法直接识别Linux U盘的问题;② 支持保留Windows双系统配置,且可通过PE工具对磁盘进行复杂分区(如调整分区大小、格式转换等),对于需要保留Windows或硬件兼容性较差的场景,PE安装更灵活。
Q2:安装Linux后无法进入系统,提示“error: no such partition”怎么办?
A:该错误通常因GRUB引导程序未正确安装或分区表损坏导致,解决步骤:① 用WinPE启动盘进入系统,打开DiskGenius检查分区是否存在(尤其是Linux根分区和EFI分区);② 若分区正常,通过命令提示符执行mount /dev/sdaX /mnt
(sdaX为根分区)、chroot /mnt /bin/bash
进入Linux环境;③ 重新安装GRUB:grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Linux
(UEFI)或grub-install /dev/sda
(Legacy),最后执行update-grub
更新配置;④ 若仍无法解决,可尝试重建分区表并重新安装系统(注意备份数据)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/20052.html