这正是我的问题。运行 ubuntu 服务器 12.04。抱歉,我找不到将主题标记为“未答复”的方法。
调整使用 fdisk 创建的 3TB 磁盘上的 2TB 分区的大小
我下载并安装了 gparted - 但是尝试运行它时出现错误。你们能帮助我吗?我的终端输出如下:
keysersoze@the-usual-suspects:/$ sudo gparted /dev/sda
(gpartedbin:18064): Gtk-WARNING **: cannot open display:
keysersoze@the-usual-suspects:/$
请注意,我对 Linux 还很陌生。感谢您的耐心。
答案1
这里的技巧是使用另一台机器上的 Xserver 来显示您在服务器上看不到的 GUI 元素。将环境变量设置为运行 Xserver 的本地机器。其中,这是 IP 地址和 X 服务器上的屏幕 #。
export DISPLAY="192.168.1.5:0"
然后运行:
sudo gparted
对于另一台 Ubuntu 机器,您需要更改防火墙规则以允许此操作。对于 Windows,您可以使用运行本地 X 服务器的 MobaXterm 执行此操作。
答案2
继续,风险自负
(如果您想要更安全的方法来调整 ext 的大小,请转到下一部分分区)
您正在寻找的工具parted
是 gparted 的后端,您还必须确保你的分区表是 GPT,如果是 MBR,它将不支持大于 2TB 的分区。
此方法仅适用于未安装的分区,因此如果出现问题,您可能也需要进行备份。
首次开放
parted
braiam@bt:~$ sudo parted [sudo] password for braiam: GNU Parted 2.3 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
现在您已经到了这里,您必须确定要修改哪个驱动程序。如您所见,我正在使用
sda
,如果您想要的是使用sdb
或sd-something
您必须使用select
:(parted) select New device? [/dev/sda]? /dev/sd sda sda1 sda2 sda3 sda4 sda5 sda6 sda7 sda8 sdb sdc sdd sde sdf sdf1 sdf2 New device? [/dev/sda]? /dev/sdf Using /dev/sdf (parted)
使用以下命令列出所有分区
print /dev/sdf
:(parted) print /dev/sdf Model: SanDisk Cruzer (scsi) Disk /dev/sdf: 8040MB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.8kB 2418MB 2418MB primary boot, hidden 2 2418MB 8039MB 5621MB primary ntfs
假设我的 NTFS 分区现在是空的。现在我想扩大分区号 1(请注意,我的分区表显示,
msdos
在你的情况下应该显示gpt
)。现在到了关键时刻。
resize
我们必须设置分区号一才能使用整个磁盘,我们该怎么做呢?调整分区 NUMBER 的大小 START END 调整分区 NUMBER 及其文件系统的大小
因此,数字应该是
1
,开始应该相同32.8kB
并且结束应该是8039MB
(请记住您应该更改数字,因为我没有> 1TB的驱动器)。resize 1 32.8kB 8039MB WARNING: you are attempting to use parted to operate on (resize) a file system. parted's file system manipulation code is not as robust as what you'll find in dedicated, file-system-specific packages like e2fsprogs. We recommend you use parted only to manipulate partition tables, whenever possible. Support for performing most operations on most types of file systems will be removed in an upcoming release.
很好的警告,继续阅读。
推荐的方法是什么?e2fsprogs?但我没有!
似乎该消息已经很旧了,并且e2fsprogs
不再这样称呼(该包保留了其名称),但是resize2fs
。该程序能够调整任何 ext2/3/4 文件系统的大小。太棒了!现在我该怎么做?很简单:
sudo resize2fs /dev/sdf1 8039M
(记住尺寸是当前尺寸+要添加的尺寸)
这里你可以用 M 表示兆字节,用 G 表示千兆字节。你还应该验证错误:
sudo e2fsck -f -p /dev/sdf1
完毕。
答案3
正如 David 指出的那样,gparted
它是一个 GUI 应用程序,因此您无法在没有 GUI 的服务器上使用它。您需要使用它parted
在命令行上操作分区。但是它不能直接调整分区大小。相反,您必须删除现有分区并使用完全相同的起始位置但更长的长度重新创建它,然后运行另一个工具来调整分区内的文件系统大小。
unit s
首先,您需要使用命令和print
现有表将其置于扇区模式。使用rm 1
删除分区,然后mkpart
创建一个新分区。指定与之前相同的起始扇区,然后指定结束扇区。您可以以“+2500G”的形式执行此操作,表示从起始处开始 2,500 GB,而不必指定确切的扇区。 quit
完成后,然后运行sudo resize2fs /dev/sda1
。这是假设分区是系统中第一个磁盘上的 1 号分区。
如果当时已安装该分区,则在 12.04 中,您将在尝试使用它进行更改时遇到错误parted
,并且必须重新启动才能使更改生效,然后才能使用resize2fs
。
答案4
很简单,在控制台中输入以下命令:
sudo touch .Xauthority
sudo xauth merge ~name_of_user/.Xauthority
export DISPLAY=:0.0
sudo gparted
*将 name_of_user 更改为您的登录用户