关于通过终端使用minimal.squashfs在空分区安装Ubuntu 24的技术咨询
我完全懂你被图形安装器坑的无奈——手动分区选项找不到、空分区列表显示空白,连引导盘选择都出问题,最后只能被迫装成双系统,确实挺闹心的。好消息是,你完全可以通过终端用minimal.squashfs把Ubuntu 24安装到空分区上,下面是一步步的实操步骤,我尽量写得直白些:
前期准备
首先确保你已经进入了Ubuntu Live USB的终端环境(启动时选“Try Ubuntu”,然后打开终端即可),最好切换到root权限(输入sudo -i回车),避免后续频繁输密码。
步骤1:确认并格式化你的空分区
先找到目标空分区,输入lsblk或者fdisk -l查看磁盘和分区信息,比如你的空分区是/dev/sda3(一定要仔细核对,别选错盘!)。然后格式化它为ext4文件系统:
mkfs.ext4 /dev/sda3
步骤2:挂载分区并准备系统目录
创建一个挂载点,把空分区挂载上去:
mkdir /mnt/ubuntu mount /dev/sda3 /mnt/ubuntu
接下来需要挂载系统必需的虚拟目录,这样后续chroot后才能正常操作:
mount --bind /dev /mnt/ubuntu/dev mount --bind /proc /mnt/ubuntu/proc mount --bind /sys /mnt/ubuntu/sys
步骤3:解压minimal.squashfs到目标分区
找到Live USB里的minimal.squashfs文件,它一般在casper目录下,比如你的USB挂载在/media/ubuntu/UBUNTU24(可以用df -h查看挂载路径),那完整路径就是/media/ubuntu/UBUNTU24/casper/minimal.squashfs。用unsquashfs解压到刚才的挂载点:
unsquashfs -d /mnt/ubuntu /media/ubuntu/UBUNTU24/casper/minimal.squashfs
这个过程可能需要几分钟,耐心等它跑完就行。
步骤4:进入新系统环境并配置
现在chroot到刚解压的系统里:
chroot /mnt/ubuntu
首先设置root密码(后续登录用):
passwd root
步骤5:安装并配置GRUB引导
这一步分两种情况,看你的机器是BIOS还是UEFI:
- BIOS系统:直接安装GRUB到磁盘(注意是磁盘名,比如
/dev/sda,不是分区!):
grub-install /dev/sda
- UEFI系统:先挂载ESP分区(一般是
/dev/sda1,FAT32格式),再安装GRUB:
mkdir -p /boot/efi mount /dev/sda1 /boot/efi grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu
不管哪种情况,最后都要更新GRUB配置:
update-grub
步骤6:配置fstab自动挂载分区
先查看你空分区的UUID(避免后续磁盘标识变化出问题):
blkid /dev/sda3
复制输出里的UUID值(比如xxxxxx-xxxx-xxxx-xxxx-xxxxxx),然后编辑/etc/fstab文件:
nano /etc/fstab
添加一行(替换成你的UUID):
UUID=你的分区UUID / ext4 defaults 0 1
如果是UEFI系统,还要添加ESP分区的挂载行(同样用blkid查ESP的UUID):
UUID=ESP的分区UUID /boot/efi vfat defaults 0 1
按Ctrl+O保存,Ctrl+X退出nano。
步骤7:收尾并重启
退出chroot环境:
exit
然后卸载所有挂载的目录:
umount /mnt/ubuntu/dev /mnt/ubuntu/proc /mnt/ubuntu/sys /mnt/ubuntu
最后重启机器,拔出Live USB,就能进入全新安装的Ubuntu 24了!
一些额外提醒
- 操作前一定要反复确认分区和磁盘的正确性,格式化错盘会丢数据!
- 如果找不到minimal.squashfs,可能需要先手动挂载Live USB的分区(用
mount /dev/sdb1 /mnt/usb之类的命令,sdb1是你的USB分区)。 - 要是解压过程中出权限问题,记得确保你是root身份在操作。
备注:内容来源于stack exchange,提问作者Talaat Etman

