使用LVM分区方式安装Manjaro发行版
使用LVM分区方式安装Manjaro发行版
为什么单独介绍LVM方式呢? 主要是由于使用系统的图形安装工具创建卷组会出问题,会导致图形安装工具直接挂掉,唯一的方法是提前手动创建好卷组。
GPT分区表
分区表有:
- MBR(主引导记录分区表): 对应BIOS中Boot设置为
Legacy引导模式
或BOTH
兼容引导模式。 - GPT(GUID分区表) : 对应BIOS需要设置Boot支持
UEFI,
或者BOTH
才支持。
切记:在物理机中使用GPT分区表安装系统时,要注意修改BIOS的引导模式为
UEFI
或BOTH
才支持的。
引导程序
先来简单描述下操作系统启动过程:
- BIOS加载:BIOS是存在主板中的固定程序,检测硬件状态,记录了Boot启动顺序(哪个磁盘找boot loader)。
- boot loader引导程序加载操作系统内核: 引导程序boot loader存放在系统盘的第一个分区中(MBR有512KB,GPT有8MB大小),这个分区标记为
boot_grub
,常见的bootloader有grub和uboot等,bootloader找到操作系统内核(通常是 /boot/vmlinuz-5.14.21-150500.48-default 类似文件)。 - 加载操作系统内核,
/boot
分区需要标记为boot
,等执行成功后启动过程完毕,内核引导操作系统的各种程序开始运行,之后就可以进入桌面环境或登录控制终端了。
安装操作系统的磁盘分区
上面简单介绍系统启动过程后,大致的应该知道基本的分区情况:
- 存储
boot loader
是第一个分区,标记为boot_grub
,格式化时找到unformatable
且不挂载任何路径。 - 存储系统内核分区,标记为
boot
,格式化为ext4
或其他类型都可以,挂载到/boot
路径。
除了上面两个分区外,操作系统程序的存放和交换区等也是需要创建分区的:
- 交换区,作用是内存不足时,把暂不需要数据存放到交换区,从而给内存腾出空间,但磁盘读写速度慢的多,当再次加载交换区内数据时感觉上很卡,实际上是正在读取交换区数据,所以内存最好足够大,少用交换区。
- 操作系统程序root分区,挂载到
/
路径,分区大小建议8GB
以上,当然可以根据系统的要求设定。
当然,只挂载一个/
路径已经可以正常安装操作系统了,但出于存储空间、系统稳定等原因其他分区也是可选的,毕竟所有东西都放在一个分区里导致的问题会很多(磁盘IO、空间不足等),下面几个分区了解下:
/usr
目录存放着许多Linux系统文件,例如我们安装大量软件后,这个目录会增长的非常大,无特殊需求是没必要单独分区管理。/var
目录是程序存放运行时信息的地方,如系统日志、用户信息、缓存和其他信息。/opt
目录一般存放第三方软件,许多系统并没有这个目录。/srv
目录一般存放一些例如ftp/tftp/web等服务的默认存放数据文件位置。/tmp
目录存放临时文件,比如更新软件的缓存,建议单独划分分区,好处是分区写满了不会导致操作系统故障。
重点!分区方式推荐:
第一种分区方法: 除了第一个分区我们不使用LVM挂载,其他分区都可以使用LVM管理。也就是说一块儿磁盘我们分两个区:
- 8MB的分区
- 剩余磁盘空间的分区(之后再在VG卷组上创建逻辑卷LV分区即可)
第二种分区方法:
- 第一个分区:8MB (boot loader)
- 第二个分区:512MB (/boot)
- 第三个分区:1024MB (swap)
- 第四个分区: 剩余空间(LVM管理分区)
LVM管理的分区好处是分区可以在线动态调整,在线的意思是磁盘不用卸载就可以直接调整。
在实测过程中发现Manjaro的安装程序无法通过第一种分区方式安装,而在openSUSE中是默认使用第一种分区方式的:
安装Manjaro操作系统前的避坑
我们介绍如何使用LVM安装Manjaro系统前提醒一些坑需要避免,比如图形安装程序的闪退问题:
- 问题1:在使用GPT分区表时创建分卷组会导致安装程序崩溃退出: 当选择创建卷组时,选择好PV和填写分卷组名称点击
OK
确认后安装程序直接退出了。 - 问题2: 手动命令行创建VG后,如果手动提前创建了逻辑卷LV 也会在后面创建文件系统是报错退出,缺少判断逻辑(比如在创建逻辑卷过程判断是否已存在等)减少这类错误发生。
- 问题3:图形安装程序限制LVM创建分区大小,无法创建512MB的分区,因此上面介绍的第一个分区方案无法使用了(实测情况是图形安装程序内部逻辑限制LVM逻辑卷第一个分区为16GB,第二个 8GB大小)。
以上问题都源自手工后台创建卷组方式与安装程序逻辑不一致带来的,解决问题的办法是修复创建分卷组时安装程序闪退问题,或者避免触发这些问题。
切记!切记!切记!只需要创建卷组VG即可,如果将LV逻辑卷也创建好,之后在安装过程中也会出现
在/dev/vgsys上创建ext4文件系统错误
(如下图)之类的错误而退出安装!恶!就是这么脆弱的图形安装工具。
开始手工创建卷组VG
我们**在启动图形“安装程序”前(避免加载分区错误等问题)**使用下面命令行方式预先对磁盘“/dev/vda”创建分区:
$ sudo fdisk /dev/vda
# fdisk 输入内容如下:
g # 创建GPT分区表
# 创建第一个分区,存boot loader引导程序,label选择boot_grub,不挂载,格式化选择unformatable
n # 新建分区
1 # 分区1
# 使用默认的`First Sector`
+8M # Last sector 为 增加 8MB位置,注意加号(+)不要省略。此时第一个分区创建完成
# 创建第二个分区,作为/boot分区
n
2
# 使用默认的`First Sector`
+512M # Last sector 为 +512MB 位置,注意加号(+)不要省略。此时第一个分区创建完成
# 创建第三个分区,作为swap交换区
n
3
# 使用默认的`First Sector`
+1024M # Last sector 为 +1024M 位置,注意加号(+)不要省略。此时第一个分区创建完成
# 创建第四个分区,作为LVM卷的一个PV
n
4
# 使用默认的`First Sector`
# 使用默认的`Last Sector`
# 文件系统类型不在这里设置,后面会创建一个PV物理卷,保存设置退出
w
########################
# 创建好的分区结果(暂时的)
$ fdisk -l /dev/vda
设备 起点 末尾 扇区 大小 类型
/dev/vda1 2048 18431 16384 8M Linux 文件系统
/dev/vda2 18432 1067007 1048576 512M Linux 文件系统
/dev/vda3 1067008 3164159 2097152 1G Linux 文件系统
/dev/vda4 3164160 67106815 63942656 30.5G Linux 文件系统
# 磁盘分区好了,我们接下来创建PV
$ sudo pvcreate /dev/vda4
# 创建VG逻辑卷,命名为sys
$ sudo vgcreate sys /dev/vda4
注意:下面磁盘分区与上面
fdisk
的分区命令执行顺序有关哦,注意磁盘分区大小挂在正确的目录上,并且标记选对了。
开始安装
完成上面磁盘分区后我们就可以启动“安装程序”图形界面了,然后到了 “分区”这一栏时的界面如下,可以看到磁盘是GPT分区表,并且只有一个“手动分区”选项:
设置/dev/vda1
存储器选择:/dev/vda
此时将显示GPT分区表信息,将/dev/vda1
按下面设置(格式化:unformated,标记:bios-grub):
设置/dev/vda2
/dev/vda2挂载到/boot目录,格式化为“ext4”,标记选择“boot”,点击 OK 继续。
设置/dev/vda3
**/dev/vda3“格式化”的文件系统为“linuxswap”,点击 OK 继续。
设置/dev/vda4(system逻辑卷)
引导程序安装位置设置完了,接下来我们设置系统安装的分区信息
存储器选择: “/dev/system” ,此时应该显示为“空闲空间”(不要后台创建逻辑卷分区(有坑),会导致后面创建文件系统分区报错)
开始创建分区。
创建了两个分区,分别挂在了 “/” 和 “/tmp”目录, 文件系统选择“ext4”,也可以选择其他类型。点击下一步,继续输入用户信息,后续流程只需要按提示完成即可了。
总结
Manjaro系统安装如果全盘安装很容易,也不会出错,但手动创建分区,并且是GPT+LVM方式出错情况还是很多的。
实际验证过程中发现的问题还不少,之后会以视频方式反馈给Manjaro官方,也许会有帮助。
毕竟,LVM方式安装Manjaro系统的问题已经存在好多年了,还是老样子。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!