银河麒麟4.0.2(Ubuntu)扩展boot分区过程介绍

目录
  • 前言
  • 1、准备新的分区
  • 2、复制boot分区
  • 3、修改fstab文件
  • 4、更新grub

前言

在一些场合(如开发内核模块)我们需要安装多个版本的内核,这时候容易出现boot分区空间不够的问题,本文介绍如何扩展银河麒麟(4.0.2)的boot分区。

由于boot分区通常位于磁盘的第一个分区,直接扩展难度较大,因此采取新分区替换原分区的方式间接实现boot分区的扩展。请注意,替换boot分区有风险,请评估完风险后,谨慎操作。

1、准备新的分区

如何是虚拟机,可以直接添加一块虚拟磁盘,如果是物理机,可以从现有磁盘中清理出一块未用分区,并用磁盘工具(如parted)格式化。

如果磁盘是msdos格式,新分区须为primary。如何使用磁盘工具,这里不再赘述。假设新分区为/dev/newpart(你的新分区肯定不会叫这个名字),利用mkfs格式化:

mkfs.ext4 /dev/newpart

2、复制boot分区

首先将新分区挂载到某个目录,如/mnt:

mount /dev/newpart /mnt

然后将/boot中的所有文件复制到挂载的目录:

cp –a /boot/* /mnt

3、修改fstab文件

利用命令blkid或者lsblk –f查看新分区的UUID,并记下来。在root权限下修改/etc/fstab文件,将原boot分区对应的分区UUID替换为新分区的UUID,保存退出。重启前,可以用:

systemctl daemon-reload
mount –a
lsblk

依次确认配置文件修改正确,新分区能正常加载,重启系统。重启的目的是让系统识别到新的boot分区,然后方便自动更新grub。

4、更新grub

使用update-grub命令更新grub,并打开/boot/grub/grub.cfg确认是从新分区加载内核和驱动,如下图中黄线标注处应为新分区的UUID。图中只列出了一个启动项的内容,如果有多个启动项,可以逐个检查下。

但通常如果第一个是正确的,后面的也应该是正确的。

理论上,接下来让bios或者uefi从新分区启动就可以了,但遗憾的是通常即使新的分区设置了boot属性为on,在引导时也不一定能从新分区启动(也可能是我操作的问题)。为了解决这个问题,我们仍然保留原来被替换掉的引导分区,而且

将新的grub配置文件复制到原分区的grub目录下。这样操作系统仍然会从原来的引导分区启动,但由于新的grub配置文件将内核和驱动文件的位置指向了新的磁盘分区,所以原有分区下的内核和驱动文件就可以删除了,boot分区空间不足的

问题就解决了。假设原boot分区挂载在/dev/oldpart下,重新挂载原分区实现grub.cfg文件的复制:

mount /dev/oldpart /mnt
cp /boot/grub/grub.cfg /mnt/grub/

查看/mnt/grub/grub.cfg,确认一切正确后,此时可以重启操作系统了。引导后,可以在grub引导界面里进到相应的启动项中进一步确认boot分区更换的正确性。

如果引导一切正常,进入系统后,可以通过df –h查看新的boot分区的利用率情况。此外,如果想进一步节省磁盘空间,可以删除掉原boot分区中的内核和驱动文件以。

如果不删除,也没有任何影响,因为后续添加新内核等操作都不会用到这个原来的boot分区了。

值得一提的是,如果后续有新的内核加入,在执行完update-grub生成新的/boot/grub/grub.cfg后,不要忘了将该文件复制到原boot分区下的grub目录中,否则在grub启动界面中看不到相应的内核。

因为我们仍然是从原分区启动的,grub启动界面显示的是原boot分区中的grub.cfg。

到此这篇关于银河麒麟4.0.2(Ubuntu)扩展boot分区过程介绍的文章就介绍到这了,更多相关银河麒麟Ubuntu扩展boot分区内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Ubuntu添加swap分区的方法

    前段时间上车了腾讯云 360 买三年多的学生机的活动,加上降配总共获得 6 年,然而内存降到 1G 后,跑个 mysql 时间长了内存都不够.而且腾讯云的 ubuntu 不知道什么原因 1G 内存实际只有 800+M,更加雪上加霜. 终于前两天服务器由于内存爆了而又没有开 swap 崩了,几乎死机状态,ssh 都连不上,控制台强制重启才恢复正常.为了防止再次出现这种情况,我就给服务器加了个 swap. 参考文档: https://askubuntu.com/questions/33697/how

  • Vmvare虚拟机给ubuntu根目录分区介绍

    目录 前言 基本原理 操作步骤 1.从CD启动虚拟机 2.使用GParted工具进行分区  3.GParted使用方法. 前言 之前安装ubuntu18.04的时候,手动进行了分区,根目录/给了15G,家目录/home给了50G左右,本来以为够用了,但是在后续安装petlinux的时候(一个移植linux的软件),需要装在/opt目录下,导致根目录空间不够用. 因此要将虚拟机重新分区,经过查阅相关资料,最终利用ubuntu的镜像cdlive以及gparted分区工具成功实现. 基本原理 利用gp

  • 银河麒麟4.0.2(Ubuntu)扩展boot分区过程介绍

    目录 前言 1.准备新的分区 2.复制boot分区 3.修改fstab文件 4.更新grub 前言 在一些场合(如开发内核模块)我们需要安装多个版本的内核,这时候容易出现boot分区空间不够的问题,本文介绍如何扩展银河麒麟(4.0.2)的boot分区. 由于boot分区通常位于磁盘的第一个分区,直接扩展难度较大,因此采取新分区替换原分区的方式间接实现boot分区的扩展.请注意,替换boot分区有风险,请评估完风险后,谨慎操作. 1.准备新的分区 如何是虚拟机,可以直接添加一块虚拟磁盘,如果是物理

  • 银河麒麟4.0.2(Ubuntu)扩展boot分区过程介绍

    目录 前言 1.准备新的分区 2.复制boot分区 3.修改fstab文件 4.更新grub 前言 在一些场合(如开发内核模块)我们需要安装多个版本的内核,这时候容易出现boot分区空间不够的问题,本文介绍如何扩展银河麒麟(4.0.2)的boot分区. 由于boot分区通常位于磁盘的第一个分区,直接扩展难度较大,因此采取新分区替换原分区的方式间接实现boot分区的扩展.请注意,替换boot分区有风险,请评估完风险后,谨慎操作. 1.准备新的分区 如何是虚拟机,可以直接添加一块虚拟磁盘,如果是物理

  • 国产化之银河麒麟安装.NetCore包管理器方式(步骤详解)

    目录 背景 环境 安装步骤 1.更新软件列表 2.添加Microsoft包签名密钥到受信任包签名密钥列表 3.安装.netcore 3.1sdk 4.检查安装结果 测试 背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等. 考虑到这些基础产品对.NETCore的支持,最终选择了3.1版本.主要原因就是龙芯搞了自研CPU架构,用户量不够大,.NET官方并没有专门针对龙芯的支持,而龙芯团队只对.netcore3.1做

  • 银河麒麟V10安装MySQL8.0.28并实现远程访问

    目录 工具/原料 方法/步骤 1系统环境 2数据库软件部署 3登录 记一次成功安装MySQL8028到银河麒麟V10,并实现远程访问的方法 工具/原料 数据库下载地址(实验使用版本如图):https://dev.mysql.com/downloads/mysql/ 操作系统镜像下载地址(注册登录后,根据CPU选择具体版本): https://eco.kylinos.cn/partners/mirror.html?class_id=1 方法/步骤 1 系统环境 1.1 清理历史环境1.1.1 查看

  • VMware下ubuntu扩展磁盘空间的方法

    近日由于虚拟机下安装软件过多,时不时弹出磁盘空间不足的问题.查找了很多资料,都没有很好的解决办法. 朋友发来一个链接,还是老外有良心.翻译出来放在这里,根据我的实际需求进行了操作,达到了预期目的. 以防万一,在操作之前将虚拟机进行了备份. 由于安装时没有自己进行分区,磁盘大小也使用了默认的20G.后来发现果然悲剧. 使用df -h命令查看具体使用情况 @ubuntu:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 19G

  • 国产化之银河麒麟安装.netcore3.1的详细步骤(手动安装)

    目录 背景 环境 下载 安装 x64.Arm处理器 MIPS.龙芯处理器 其它依赖 测试 背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,银河麒麟就是一个Linux发行版,数据库使用达梦V8,这个数据库很多概念和Oracle相似,CPU平台的范围:龙芯.飞腾.鲲鹏等. 龙芯团队自己支持了.netcore3.1,飞腾之类的是ARM架构,官方已经支持..netcore3.1仅在 x64 体系结构上支持包管理器安装,对于 ARM 等其他体系结构,必须通过其他一些方式安装 .NET.

  • CentOS环境下安装Redis3.0及phpredis扩展测试示例

    本文实例讲述了CentOS环境下安装Redis3.0及phpredis扩展测试.分享给大家供大家参考,具体如下: 线上的统一聊天及推送系统redis版本2.8.6,跑了近一年运行良好,之所以测试redis3.0,因为3.0相比2.8加了很多新特性: Redis Cluster -- 一个分布式的 Redis 实现 全新的 "embedded string" 对象编码结果,更少的缓存丢失,在特定的工作负载下速度的大幅提升 AOF child -> parent 最终数据传输最小化延

  • VMware Workstation安装(Linux内核)银河麒麟图文教程

    本文为大家分享了VMware Workstation安装银河麒麟,供大家参考,具体内容如下 1.下载软件:VMware Workstation Kylin-x86_64.iso(Linux内核)银河麒麟系统镜像包. 2.安装完成VMware Workstation并运行. 3.创建新的虚拟机. 4.选中"典型",下一步. 5.安装程序光盘映像文件(浏览--文件存放路径),下一步. 6.虚拟机中安装操作系统选择Linux,下一步. 7.输入虚拟机名称,下一步. 8.默认操作,下一步. 9

  • C# 9.0新特性——扩展方法GetEnumerator支持foreach循环

    1.介绍 我们知道,我们要使一个类型支持foreach循环,就需要这个类型满足下面条件之一: 该类型实例如果实现了下列接口中的其中之一: System.Collections.IEnumerable System.Collections.Generic.IEnumerable<T> System.Collections.Generic.IAsyncEnumerable<T> 该类型中有公开的无参GetEnumerator()方法,且其返回值类型必须是类,结构或者接口,同时返回值类型

  • 银河麒麟V10sp1服务器系统安装redis不能使用的快速解决办法

    我们在适配时,经常需要安装redis,但是在银河麒麟 V10sp1 服务器系统上安装使用 redis 的时候会有诸多问题,今天我们就来逐步分析解决一下. 1. 配好外网,使用麒麟源安装redis: 先在源里搜索一下redis,查看是否有该软件包: [root@172-17-102-254 ~]# yum search redis Last metadata expiration check: 1:46:38 ago on 2020年12月11日 星期五09时55分08秒. ===========

随机推荐