我想在具有 UEFI BIOS 的笔记本电脑上安装带有 LVM 的 Ubuntu 20.04 桌面版。我的问题是默认安装程序将整个磁盘(除 UEFI 启动分区和交换分区外)分配给一个根分区。我更喜欢为根分区、、、/home
等/var
分区设置单独的分区/tmp
,并且不使用交换分区。
我见过其他解决这个问题的尝试,但它们要么使用 RAID或者
随后调整 LVM 根分区的大小,如果您只想迁移/home
到其自己的分区,这很好,但我觉得这样做不太方便,例如/var
。其他尝试,例如这个,使用服务器安装程序,然后apt install ubuntu-desktop
,但我还没有找到之后应该删除哪些仅限服务器的软件包。
/home
还有其他方法可以安装 Ubuntu 20.04 桌面并为 root 、、、/var
等设置单独的 LVM 分区吗/tmp
?或者按照第二路由,然后调整分区大小?如果是,怎么做?
答案1
我可以清理这个 RAID+LVM 解决方案仅适用于 LVM。解决方案涉及在运行安装程序之前手动设置分区。详细说明如下。
1. 下载安装程序并启动 Ubuntu Live
1.1 下载
- 从以下位置下载 Ubuntu 桌面安装程序https://ubuntu.com/download/desktop并将其放入可启动媒体。
1.2 启动 Ubuntu Live
- 从步骤 1.1 启动到媒体。
- 选择
Try Ubuntu
。 - 按 Ctrl-Alt-T 启动终端。以下命令应在该终端中输入。
2. 分区驱动器并设置 LVM
2.0 安装 ssh 服务器
如果您不想输入下面的所有命令,您可能需要通过 ssh 登录并剪切并粘贴命令。
安装
sudo apt install openssh-server
设置密码以启用外部登录
passwd
如果您在虚拟机内测试此操作,则可能需要转发合适的端口。选择
Settings
、Network
、Advanced
、Port forwarding
和加号。例如,输入3022
作为Host Port
和22
作为 Guest Port 并按OK
。或者从主机系统的命令行(将 VMNAME 替换为您的虚拟机名称):VBoxManage modifyvm VMNAME --natpf1 "ssh,tcp,,3022,,22" VBoxManage showvminfo VMNAME | grep 'Rule'
现在,你应该能够使用以下命令从外部计算机登录到你的 Ubuntu Live 会话
ssh <hostname> -l ubuntu
或者
ssh localhost -l ubuntu -p 3022
以及您上面设置的密码。
2.1 在物理磁盘上创建分区
将分区表清零
sudo sgdisk -Z /dev/sda
创建两个分区;一个用于 EFI,一个用于 LVM。
sudo sgdisk -n 1:0:+512M -t 1:ef00 -c 1:"EFI System" /dev/sda sudo sgdisk -n 2:0:0 -t 2:E6D6D379-F507-44C2-A23C-238F2A3DF928 -c 2:"Linux LVM" /dev/sda
为EFI分区创建FAT32系统。
sudo mkfs.fat -F 32 /dev/sda1
2.3 创建LVM设备
在LVM分区上创建物理卷
sudo pvcreate /dev/sda2
在物理卷上创建卷组
sudo vgcreate vg0 /dev/sda2
在新卷组上创建逻辑卷(分区)。以下大小和名称是我的选择。您可以做出不同的决定。
sudo lvcreate -Z y -L 35GB --name root vg0 sudo lvcreate -Z y -L 10GB --name tmp vg0 sudo lvcreate -Z y -L 5GB --name var vg0 sudo lvcreate -Z y -L 10GB --name varlib vg0 sudo lvcreate -Z y -L 200GB --name home vg0
现在,分区已准备好安装 Ubuntu 安装程序。
3. 运行安装程序
- 双击
Install Ubuntu 20.04.3 LTS
新计算机桌面上的图标。(请勿不是通过任何 ssh 连接启动安装程序!) - 回答语言和键盘问题。
- 在
Installation type
页面上,选择Something else
。(这是重要的部分。)这将向您显示一个名为/dev/mapper/vg0-home
等的分区列表。 - 双击以 开头的每个分区
/dev/mapper/vg0-
。选择Use as:
Ext4
,选中Format the partition
复选框,然后选择适当的挂载点(/
对于vg0-root
,/home
对于vg0-home
,等等,/var/lib
对于vg0-varlib
)。 /dev/sda
选择引导加载程序的第一个设备。- 按下
Install Now
并继续安装。 - 安装完成后,选择
Continue Testing
。
完毕!
答案2
令人难以置信的是,Ubuntu 仍然没有提供从安装屏幕创建具有自定义分区的 LVM 选项。为什么他们会认为跳过这么多环节是可以接受的。