上班族

 找回密码
 立即注册
查看: 1078|回复: 1

Ubuntu用gparted合并分区

[复制链接]

562

主题

720

帖子

2388

积分

金牌会员

Rank: 6Rank: 6

积分
2388
发表于 2021-7-26 11:16:20 | 显示全部楼层 |阅读模式
本帖最后由 云谷鹤峰 于 2021-7-26 11:40 编辑

       分区是安装操作系统的第一步,但在操作系统之前,我们很难清楚地知道哪些分区需要多大的空间,就算从其他人那里获得一些提醒和参考数字,但针对自己的具体情况,往往还是有出入的。有些分区比需要的大些,没有多大问题,只要你的硬盘足够用。但如果有些分区用完了,不够用的,麻烦了!
       这个时候,就不得不调整分区的大小。有很多方式。有的直接删除系统,重新分区,然后再重装操作系统,干脆、麻烦由累人,而且要求大量的备份或根本就没有重要的东西要备份;有的把大的分区划出一块空闲的空间,把小的空间也删掉,空闲分区和在一起,然后重新建立分区,在linux下还要修改fstab文件,不但要提防数据丢失还要的清楚地知道fstab是怎么回事,所以你对于linux需要有一定的水平;当然也有的用逻辑卷的方法。总之,无论采用什么方法,都要进行必要的备份,保证万无一失。
     
       我的磁盘上已经有了一个空闲的空间,需要将这个空闲的分区合并到那个较小的分区中去。到网上查了一下,主要是两种方法,就是逻辑卷,还有删除分区重建分区再修改fstab的方法,我觉得既然有了专门的工具,怎么可能还要如此麻烦呢?!如果这样,工具gparted存在的价值就值得怀疑了。

       我想很多人之所以要这样做,是因为没有很好的了解gparted 的用法。
       首先需要注意的一点是:gparted中对一个分区的操作,只能影响到最邻近的两个其他分区,也只有邻近的这两个分区能影响到该分区。
       即,如果一个分区划出一小块出来,成了空闲区,那么该空闲区生成后肯定临着该分区。自然,如果一个分区要扩大,就必须保证这个分区的上下两个区有一个是空间的,未分配的。只有这样才可以对该分区进行扩容调整!在gparted中,一个分区要扩大,需要的前后空闲区的大小至少有一个不为0。

       我的磁盘上的空闲区和小分区并不相邻。所以需要将空间区挪到小分区附近。具体见后面的图1。如果挪动分区呢,就我目前的了解,只能把要“路过”的分区一一进行调整。(注意,调整的不是这些路过分区的大小,而是其前后的空闲区的大小,见图2)。比如,将"unallocated"挪到/dev/sda9上面,就需要经过/dev/sda6, /dev/sda7, /dev/sda8这三个要路过的分区。需要分别调整这些分区的前后空闲区的大小。
       对于/dev/sda6,选中后,点击按钮“Resize/Move”,出现图2中的对话框,有三个编辑框,分别是:Free Space Preceding, New Size, Free Space following.我们要做的是调整第一个和第三个值。在图1和图2中,可以看到,"unallocated"大小为11.37GB(11641MB),它在/dev/sda6的紧上方,而/dev/sda6后面没有其他的空闲区了,所以,在“Resize/Move”对话框中,Free Space Preceding为11641MB,而Free Space following为0MB。
       为了把空闲区往下挪,挪到/dev/sda6的紧下面(离/dev/sda9更近),只要把
/dev/sda6的Free Space Preceding设为0,而Free Space following设为空闲区的大小。当然,如果不是要把整个空闲都挪动,这个值可以设定为你需要的小些的值。如果需要整个挪动,有个技巧,就是只把Free Space Preceding设为0即可,系统会自动把Free Space following设置为需要的值(整个空闲区的大小),当然要实时看到结果,只要鼠标重新定位一下即可(在别的地方点一下,比如在Free Space following的输入框)。设置的情况,见图3。然后点击对话框中的“Resize/Move”按钮,就可以看到图4的效果了。再点“Apply”,就开始了分区位置调整的处理,实现图4的设置。(当然,可以把所有的操作和最终的效果设置好,再apply)
       这样,一步步,一次对 /dev/sda7, /dev/sda8做同样的处理,就可以把空闲区挪到/dev/sda9的紧上方。再对/dev/sda9进行
“Resize/Move”,就会发现,该分区的前后空闲区的大小已经不是都为0了,它的前面空闲区已经是11641MB了,这样,就可以对/dev/sda9进行扩容了。

       需要注意的一个问题是:如果调整时,涉及了swap分区,需要先禁止它。但调整之后发现,重启后swap没有挂载激活,导致系统很慢,需要激活swap。细看一下是该swap分区的uuid变了,需要在fstab中改一下。我想这是gparted的不完善之处。
       查看分区的UUID: ls -l /dev/disk/by-uuid
       列出分区的情况:df -lh

11d1b5f0eaeg214.jpg

图1.  我的磁盘分区情况,需要将"unallocated"中的1G合并到分区/dev/sda9中去。
11d1b644768g214.jpg

图2. 在gparted中,每个分区都有三个属性可以调整。
11d1b6b558eg215.jpg

图3. 将空闲区挪到下方。
11d1b7819a1g213.jpg
图4. 设定的分区位置的调整效果。
回复

使用道具 举报

562

主题

720

帖子

2388

积分

金牌会员

Rank: 6Rank: 6

积分
2388
 楼主| 发表于 2021-7-26 11:44:39 | 显示全部楼层
本帖最后由 云谷鹤峰 于 2021-7-26 11:46 编辑

GParted
是一个Linux系统的磁盘分区工具,适用于ubuntu、centos等系统,它采用Xorg,轻量级的Fluxbox窗口管理器,用它你可以方便的创建、删除分区,也可以调整分区的大小和移动分区的位置,有需要的朋友们可以下载试试。
20200520160726.jpg
软件功能
创建分区表(如:MSDOS GPT)
创建、删除、复制、调整、移动,检查,设立新的UUID,或标签分区
操作btrfs、ext2/3/4 f2fs、FAT16/32 hfs / hfs ,linux交换,lvm2 pv,nilfs2,NTFS,reiserfs / 4,ufs,xfs文件系统
启用和禁用分区标志(如。、引导、隐藏)
对齐分区对齐mebibyte(MiB)或圆柱边界
尝试数据救援从丢失的分区
支持硬件RAID,主板BIOS突袭,Linux软件RAID
支持所有部门的大小(如。,512,1024,2048,4096字节扇区)
20200520160708.jpg
安装使用方法
方法1——简单办法,步骤如下:
1、在guest的HDD设置里面新建IDE硬盘,并挂载在primary slave接口上,原来的硬盘在primary master上,当然你也可以随便挂,但会影响到后面的硬盘编号。
2、下载GParted LiveCD(//gparted.sourceforge.net/),将下载的ISO文件挂载到guest的光驱上面,并且从光驱启动。简单的回车默认启动就可以。
3、拷贝旧硬盘的MBR到新硬盘(新硬盘的MBR为空),这样才能正常启动。启动terminal终端,输入fdisk -l //可查看到硬盘设备号,按上面的设置,旧硬盘应该是sda,而新硬盘是sdb
dd if=/dev/sda of=/dev/sdb bs=512 count=1 //拷贝sda的mbr到sdb上,命令如前所示
切记不要搞反了,否则旧硬盘的MBR就成空白了。MBR里面包含有分区表信息,这样拷贝以后新硬盘里面也有了一个和旧硬盘一般大小的分区,我们不需要,可直接删除。删除办法如下:
fdisk /dev/hdb,然后输入fdisk命令d也就是在Command (m for help):后面输入d就可以删除掉这个分区,然后输入fdisk命令w把改变写回硬盘,然后q退出。
4、启动GParted程序。GParted会扫描到这两个硬盘。在旧硬盘hda的分区(我的是主分区hda1)上面右击选择copy,然后选择新硬盘hdb,在其上右击选择paste,并把目的分区拖到最大,起码我的guest只要一个主分区就可以了,如下图所示。最后点击apply进行真正的拷贝动作。耐心的等待一段时间。
5、在新硬盘的主分区sdb1上右击选择”manage flags”,为此分区添加boot标志,以便从该分区启动。
6、从虚拟机设置里面为guest去掉cd rom,去掉旧的虚拟硬盘,把新虚拟硬盘挂载到IDE的Primary master上面,启动guest。第一次用新硬盘启动可能会遇到磁盘检查。
到此应该就OK了,以后新建guest的时候一定要把虚拟硬盘搞大一点,省的这么麻烦。
———–
ps. Ubuntu 8.04 Grub修复
Ubuntu的Live CD,启动,终端
su //进入根用户
fdisk -l 查看分区情况 我的/ 是 sda1
mount 挂载到/mnt
grub-install --root-dircetory=/mnt /dev/sda
update-grub
grub>root (hd0,0) 我的/是0,boot没有单独划分
grub>setup (hd0)
grub>quit
搞定
方法2:
sudo apt-get install gparted
sudo apt-get install ntfsprogs
//在Ubuntu中,gparted在默认情况下并不支持NTFS分区,必须还要使用如下指令安装ntfsprogs
sudo gparted //启动gparted
这种安装方式只能用于非系统分区并且是尚未挂载的分区调整,所以在上图中,当选中一个Ubuntu所在的安装分区/dev/sda3时,点击“分区”菜 单,其中的调整分区相关的菜单项都是被禁用的,同时该分区的名称后显示了一个“锁定”的图标,表示该分区不能进行调整。建议直接在gparted的官网//gparted.sourceforge.net中下载其Live CD的ISO光盘映象文件,然后將其该录成光碟。gparted的Live CD中自带了一个简版的Debian系统,利用该光碟启动计算机之后,可以直接硬盘上的任意支持格式的分区进行创建、删除或大小调整。
gparted如何调整分区大小
1、将光盘放入光驱(如果是用LiveUSB,插上U盘),重启电脑
2、进入gparted启动界面,直接选Defalt settings
3、第二个界面继续按回车
4、接下来选语言,输入“26”回车(就是简体中文,尽管汉化不全)
5、接着提示将要进入X-Windows界面,回车
6、进入gparted,就会发现和瘟到死的PQ相似的界面,实际操作也是一样的,而且也支持瘟到死分区的调整
7、点击你要腾出空间的分区,弹出右键菜单选择“Resize/Move”
8、用鼠标托动或数字精确调整要释放的空间大小,若要释放在分区头部拉左侧的控制条(输入第一行数值),若要释放在分区尾部拉右侧的控制条(输入第三行数值),调整好之后点“更改大小/移动”按钮。
9、点击欲扩大容量的分区,弹出右键菜单选择“Resize/Move”
10、按照第8步的方法操作,只是现在变成扩大分区容量而已
11、点击“Edit”菜单,选择“Apply All Operations”
12、再次确认要调整分区容量后,gparted开始调整分区,完成后点“Close”按钮
13、点“gparted”菜单,选“Quit”关闭gparted窗口,再双击左上角的“Exit”按钮退出gparted系统
14、在弹出的窗口中选“Reboot”重启电脑,退出时系统会提示你取出光盘                                                                                                             1114532N547.jpg                                                                                                                                                
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|shangbanzu.xyz

GMT+8, 2025-5-8 03:05 , Processed in 0.066363 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表