使用LVM分区方式安装Manjaro发行版

使用LVM分区方式安装Manjaro发行版

为什么单独介绍LVM方式呢? 主要是由于使用系统的图形安装工具创建卷组会出问题,会导致图形安装工具直接挂掉,唯一的方法是提前手动创建好卷组。

GPT分区表

分区表有:

  • MBR(主引导记录分区表): 对应BIOS中Boot设置为Legacy引导模式BOTH兼容引导模式。
  • GPT(GUID分区表) : 对应BIOS需要设置Boot支持UEFI,或者BOTH才支持。

切记:在物理机中使用GPT分区表安装系统时,要注意修改BIOS的引导模式为UEFIBOTH才支持的。

引导程序

先来简单描述下操作系统启动过程:

  • 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管理。也就是说一块儿磁盘我们分两个区:

  1. 8MB的分区
  2. 剩余磁盘空间的分区(之后再在VG卷组上创建逻辑卷LV分区即可)

第二种分区方法:

  1. 第一个分区:8MB (boot loader)
  2. 第二个分区:512MB (/boot)
  3. 第三个分区:1024MB (swap)
  4. 第四个分区: 剩余空间(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系统的问题已经存在好多年了,还是老样子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/601054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【华为OD真题 Python】两数之和绝对值最小

文章目录 题目描述输入描述输出描述示例1输入输出说明代码实现题目描述 给定一个从小到大的有序整数序列(存在正整数和负整数)数组 nums ,请你在该数组中找出两个数,其和的绝对值(|nums[x]+nums[y]|)为最小值,并返回这个绝对值。 每种输入只会对应一个答案。但是,数组中…

性能优化-OpenMP概述(一)-宏观全面理解OpenMP

本文旨在从宏观角度来介绍OpenMP的原理、编程模型、以及在各个领域的应用、使用、希望读者能够从本文整体上了解OpenMP。 🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:高性能(HPC)开发基础…

【算法】链表-20240105

这里写目录标题 一、LCR 023. 相交链表二、142. 环形链表 II 一、LCR 023. 相交链表 给定两个单链表的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 提示: listA 中节点数目为 m list…

window 下载安装 Studio 3T

这里 我们先访问官网 https://studio3t.com/ 然后 他会弹出提示 如果您同意使用cookies和类似技术进行市场研究或广告目的,并希望获得额外功能,您可以点击“Accept all”按钮。 如果您不同意使用cookies和类似技术进行上述目的,您可以点击“…

大模型的实践应用16-一种针对大型预训练模型的微调技巧:Adapter-Tuning方法的实战应用,原理详细介绍

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用16-一种针对大型预训练模型的微调技巧:Adapter-Tuning方法的实战应用,原理详细介绍。Adapter-Tuning 是一种针对大型预训练模型微调的技术,它可以在保持模型参数数量较小的情况下增加模型的表现。该技术将适配器插入…

ffmpeg 改变帧率,分辨率,时长等命令

ffmpeg -i elva.mp4 -ss 00:00:20 -t 00:00:30 -c:v copy -c:a copy output1.mp4 视频截取,开始时间和时长,-ss 00:00:20 -t 00:00:30 ffmpeg -i output1.mp4 -c:v libx265 output265.mp4 -c:v libx265,264转265 ffmpeg -i output1.mp4 -c:v libx264 output264.mp4 …

Java面试项目推荐,异构数据源数据流转服务DatalinkX

前言 作为一个年迈的夹娃练习生,每次到了春招秋招面试实习生时都能看到一批简历,十个简历里得有七八个是写商城或者外卖项目。 不由得想到了我大四那会,由于没有啥项目经验,又想借一个质量高点的项目通过简历初筛,就…

CTFhub-Web-Web前置技能-“302跳转“

题目信息 HTTP临时重定向,题目截图如下所示: 分析过程 看到跳转路径为:http://challenge-d1a96d97eaecf029.sandbox.ctfhub.com:10800/index.html 分析可能存在重定向问题,如果要想获得flag,则可能存在http://chal…

nodejs中ffcreator启动

ffcreator安装 安装环境及依赖 node.js环境FFmpegnode-canvasheadless-gl 安装FFCreator npm i ffcreator --save启动项目 有显示设备的电脑:npm start无显示设置的服务器:xvfb-run -s "-ac -screen 0 1280x1024x24" npm start next.js中…

Linux平台下gcc安装升级

文章目录 一、下载gcc源码二、配置三、编译四、安装 一、下载gcc源码 到gcc官网下载所要安装的版本,例如:gcc-5.5.0。 二、配置 首先确保系统已经安装了必要的依赖项。在命令行中运行以下命令来更新包管理器并安装所需的构建工具: sudo a…

element中Tree 树形控件实现多选、展开折叠、全选全不选、父子联动、默认展开、默认选中、默认禁用、自定义节点内容、可拖拽节点、手风琴模式

目录 1.代码实现2. 效果图3. 使用到的部分属性说明4. 更多属性配置查看element官网 1.代码实现 <template><div class"TreePage"><el-checkboxv-model"menuExpand"change"handleCheckedTreeExpand($event, menu)">展开/折叠&l…

java 使用 jtransforms 傅里叶库通过时域转频域实现wav 音频的加速与变慢效果

引入 maven 依赖&#xff1a;<dependency><groupId>net.sourceforge.jtransforms</groupId><artifactId>jtransforms</artifactId><version>2.4.0</version></dependency> FourierTransformTest.java&#xff1a; import edu.…

一、Vue3基础[常用的循环]

一、循环 1. filter 解释&#xff1a;filter 方法会创建一个新的数组&#xff0c;其中包含满足指定条件的所有元素。这个方法非常适合循环遍历数组并根据特定条件过滤元素的情况。例如&#xff0c;可以使用 filter 方法来找出数组中所有大于特定值的元素&#xff0c;或者找出…

华为bgp之多级RR及团体属性、正则表达式多种应用案例

1、实现总部和分部的oa、财务网段互通 2、分部之间oa也能互通 3、分部之间不能互通财务 主要用到bgp自定义团体属性、一级二级RR配置、bgp正则表达式匹配规则 R1 router id 1.1.1.1 //配全局地址池&#xff0c;又可以给ospf用也可以给bgp用 interface GigabitEthernet0/0/0 …

延迟加载:提升性能的隐形利器

引言 想象一下&#xff0c;你正在玩一款大型电子游戏。如果游戏在启动的时候就加载了所有的关卡、角色和道具&#xff0c;那玩家可能需要等待很长时间才能开始游戏&#xff0c;而且大部分内容可能在游戏的初期都不会被用到。显然&#xff0c;这样的做法既低效又耗时。 而延迟加…

位移贴图还原电影3D角色

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 位移贴图&#xff08;Displacement Map&#xff09;在电影制作中是一…

OpenCV图像处理——C++实现亚像素尺寸标定板边缘轮廓提取

前言 标定模板&#xff08;Calibration Target&#xff09;在机器视觉、图像测量、摄影测量以及三维重建等应用中起着重要的作用。它被用于校正相机的畸变&#xff0c;确定物理尺寸和像素之间的换算关系&#xff0c;并建立相机成像的几何模型。通过使用相机拍摄带有固定间距图…

进程和计划任务-------后续(二)

一、进程管理 1.进程启动---------- 前台启动与后台启动 进程需要手动启动 前台启动&#xff08;运行&#xff09;&#xff1a;通过终端启动&#xff0c;且启动后一直占据终端&#xff08;影响当先终端的操作&#xff09; 后台启动&#xff1a;可通过终端启动&#xff0c;但启…

Unity添加所有场景到BuildSettings

Unity添加所有场景到BuildSettings using UnityEngine; using UnityEditor; using System.Collections.Generic; using System.IO; public class Tools : Editor {[MenuItem("Tools/添加所有场景到BuildSettings")]static void CheckSceneSetting(){List<string&…

java基于ssm的线上选课系统的设计与实现论文

摘 要 在如今社会上&#xff0c;关于信息上面的处理&#xff0c;没有任何一个企业或者个人会忽视&#xff0c;如何让信息急速传递&#xff0c;并且归档储存查询&#xff0c;采用之前的纸张记录模式已经不符合当前使用要求了。所以&#xff0c;对学生选课信息管理的提升&#x…