标签: parted

删除 GPT - 默认返回 MBR

我不断收到此错误:

警告!!检测到不受支持的 GPT(GUID 分区表)。使用 GNU Parted

我想回到正常的 MBR。我在这里找到了一些建议并做了:

parted /dev/sda
mklabel msdos
quit
Run Code Online (Sandbox Code Playgroud)

但是,当我mklabel选择该选项时,它会发出警告,提示我将丢失/dev/sda. 有没有办法在不格式化磁盘的情况下恢复正常的 MBR?

linux parted gpt mbr gdisk

36
推荐指数
3
解决办法
16万
查看次数

fdisk 与 parted

我已经在家里运行小型媒体服务器 10 多年了,并考虑更换它(在它坏掉之前)。

我打算将一个新驱动器连接到我的旧系统、分区和格式(现在 ext4 似乎最稳定)并将媒体复制到新磁盘,以便我可以将其安装在新计算机上(我将留下一些驱动器上的可用分区)。

2002年我fdisk做分区的时候一直在看我的设置笔记,现在经常看到gparted或者parted被使用。

有没有必要使用(并安装和学习)parted?我当前的旧系统是 32 位,我在某处读到 64 位需要 parted。我没有在系统上分开,但我不想制作一个不适用于新设置的磁盘。

fdisk parted

33
推荐指数
3
解决办法
6万
查看次数

自动扩展最后一个分区以使用所有未分配的空间,在批处理模式下使用 parted

长话短说,我需要在启动(嵌入式系统)时自动执行这一切。

我们的工程师会将图像闪存到生产设备。这些图像将包含一个小的分区表。在启动时,我需要自动扩展最后一个分区 (#3) 以使用磁盘上的所有可用空间。

这是我查看磁盘上的可用空间时得到的结果。

> parted /dev/sda print free
Model: Lexar JumpDrive (scsi)
Disk /dev/sda: 32.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
        17.4kB  1049kB  1031kB  Free Space
 1      1049kB  25.3MB  24.2MB  fat16        primary  legacy_boot
        25.3MB  26.2MB  922kB   Free Space
 2      26.2MB  475MB   449MB   ext4         primary
 3      475MB   1549MB  1074MB  ext4         primary
        1549MB  32.0GB  30.5GB  Free Space
Run Code Online (Sandbox Code Playgroud)

我需要将分区 3 扩展 N (30.5GB) 字节数

如何在没有提示的情况下自动执行此步骤?这需要在第三个分区之后使用动态大小的可用空间。

parted

32
推荐指数
5
解决办法
9万
查看次数

设置可引导分区命令行

如何使用 parted 中的命令行设置可引导分区?

理想情况下,我想要一个编号列表,以便我可以轻松选择要从哪个分区启动。

parted

28
推荐指数
2
解决办法
11万
查看次数

使用 parted 的可编写脚本的 GPT 分区

我在脚本中使用以下命令对 eMMC 进行分区,

parted /dev/mmcblk0 --script mklabel gpt
parted /dev/mmcblk0 --script mkpart primary ext4 32MB 132MB
parted /dev/mmcblk0 --script mkpart primary ext4 233MB 433MB
parted /dev/mmcblk0 --script mkpart primary ext4 433MB 533MB
parted /dev/mmcblk0 --script mkpart primary ext4 533MB 593MB
parted /dev/mmcblk0 --script mkpart primary ext4 593MB 793MB
parted /dev/mmcblk0 --script mkpart primary ext4 793MB 3800MB
parted /dev/mmcblk0 --script align-check min 1
Run Code Online (Sandbox Code Playgroud)
  1. 这是在脚本中创建分区的正确方法吗?有没有更好的方法?
  2. 创建第一个分区后,我收到以下警告

    警告:生成的分区没有正确对齐以获得最佳性能。

我需要担心吗?我试过了,parted /dev/mmcblk0 --script align-check min 1但不确定那是解决方案。任何指示?
我正在浏览链接,同时还有其他建议吗?

编辑:只是froschutz回复的快速参考,

MiB = …
Run Code Online (Sandbox Code Playgroud)

linux scripting bash partition parted

18
推荐指数
2
解决办法
4万
查看次数

如何使用 GNU Parted 在可用空间中创建分区

下面是我在 gnu parted 中显示的硬盘:

(parted) print free                                                       
Model: ATA HGST HTS541075A9 (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system     Name                     
       17.4kB  1049kB  1031kB  Free Space
1      1049kB  538MB   537MB   fat32           EFI System Partition  boot
2      538MB   468GB   467GB   ext4
       468GB   520GB   52.4GB  Free Space
6      520GB   527GB   6353MB  linux-swap(v1)
4      527GB   527GB   524MB   ext4
5      527GB   744GB   217GB                                         lvm
3      744GB   750GB   6352MB
    750GB   750GB   892kB   Free Space

(parted) 
Run Code Online (Sandbox Code Playgroud)

你可以看到我有 52.4GB …

partition parted hard-disk

16
推荐指数
1
解决办法
5万
查看次数

partprobe 是如何工作的?

我一直在寻找一种方法来刷新 scsi 总线(或任何其他总线,就此而言),这将允许我的内核(CentOS 5.5 上的 2.6.18-194-el5)了解驱动器上的分区,我不能没有办法。partprobe 立即做到了。如何?

由于这很重要,这就是我正在做的事情:

我想在特定于分区的事情上得到一些练习,比如调整大小、备份 MBR 和恢复它,等等。我在 /dev/sdb 上创建了一个 20GB 的分区,备份了 MBR:

dd if=/dev/sdb of=sdb.mbr bs=512 count=1

然后我进入fdisk,删除分区,写入,然后退出。

ls /dev/sdb*

显示没有分区,并且

fdisk -l /dev/sdb'

匹配,所以我认为我很好。

然后我颠倒了dd:

dd if=sdb.mbr of=/dev/sdb bs=512 count=1

当然,当时我什么也没做,所以

ls /dev/sdb*

没有列出任何分区,但是

fdisk -l

显示分区,大概是因为它读取磁盘上的前 512 个字节并且不依赖于内核。我知道我必须刷新总线,所以我进入/sys/class/scsi_host/host1,然后做了

回声“- - -” > 扫描

和做

ls /dev/sdb

没有显示任何新内容,所以我去了 /sys/bus/scsi/devices 并且对于列出的每个设备,我都做了

回声 1 > 重新扫描

那没有用。

然后我对该问题进行了更多研究,并遇到了parted 附带的'partprobe'。我运行了它,它立即生效。

如果我在这里没有得到可能的答案,我可能会去获取源代码并查找它,但我认为这里有超出我的巫师,所以我想我会吸引你们所有人。

partition fdisk parted

12
推荐指数
1
解决办法
9361
查看次数

创建具有精确大小而不是特定距离的分区

如何创建一个精确大小而不是特定距离的分区?

我试过了:

parted -a optimal /dev/sdd mkpart primary 0% 0%+1GB
# and...
parted -a optimal /dev/sdd mkpart primary 0% +1GB
Run Code Online (Sandbox Code Playgroud)

无济于事。

我如何让它接受大小而不是结束距离?

partition parted

11
推荐指数
1
解决办法
1万
查看次数

以编程方式分区磁盘

我正在尝试创建一个 bash 脚本,该脚本将在具有现有分区的磁盘上创建一个带有文件系统的新分区。

看起来用parted以编程方式创建分区很容易,但是它需要您知道从哪里开始和停止新分区,这就是我遇到麻烦的地方。

我不想依赖具有特定位置/大小的分区的磁盘。也就是说,我想在最后一个现有分区之后立即开始创建一个新分区。然后我希望能够创建固定大小的分区,或者填充剩余空间。

在 Bash 中,是否有可靠的方法来确定

a) 最后一个分区的结束位置,以及
b) 最后一个分区后剩余的未分区空间?

bash partition fdisk parted

10
推荐指数
1
解决办法
1万
查看次数

调整 VFAT 分区大小?

我正在将计算机迁移到另一个具有更多空间的启动驱动器。我做了以下事情:

\n\n
sudo partclone.vfat -c -R -o partclone.sda1.vfat.img -s /dev/sdg1\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后我在parted的新设备上创建了分区,然后恢复:

\n\n
sudo partclone.vfat -r -s partclone.sda1.vfat.img -o /dev/sdg1\n
Run Code Online (Sandbox Code Playgroud)\n\n

新分区比我克隆的分区大。

\n\n
$ sudo parted /dev/sdg print 1\n\nMinor: 1\nFlags: \nFile System: fat32\nSize:         1074MB (0.11%)\nMinimum size: 210MB (0.02%)\nMaximum size: 1000GB (100%)\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,当我使用 查看文件系统时df,它向我显示了其他内容:

\n\n
$\xe2\x80\x8asudo df -h extefi/\nFilesystem      Size  Used Avail Use% Mounted on\n/dev/sdg1       197M   42M  156M  22% /mnt/extefi\n
Run Code Online (Sandbox Code Playgroud)\n\n

我可以运行一个命令来正确调整文件系统的大小以填充其分区吗?

\n

parted vfat partclone

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

parted ×10

partition ×5

fdisk ×3

bash ×2

linux ×2

gdisk ×1

gpt ×1

hard-disk ×1

mbr ×1

partclone ×1

scripting ×1

vfat ×1