分开 mktable 错误。但是gparted“创建分区表”有效吗?

sch*_*ddl 10 command-line partitioning

我正在尝试自动格式化 USB 驱动器。我要做的是:

  1. 卸载 U 盘
  2. 终端:sudo parted /dev/sdb1 mktable msdos

这是我收到以下错误时:

Error: Partition(s) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64 on /dev/sdb1 have been written, but we have been
unable to inform the kernel of the change, probably because it/they are in use.
As a result, the old partition(s) will remain in use.  You should reboot now
before making further changes.
Run Code Online (Sandbox Code Playgroud)

当我在 GParted 的同一个 U 盘上创建分区表时,我不必重新启动!

我必须在终端中输入什么才能不必重新启动?我的意思是 GParted 只是用于分离的 GUI,对吗?

Xen*_*050 13

首先,您似乎正在尝试在分区上
/dev/sdb1
而不是在磁盘本身上创建分区表
/dev/sdb

我猜这可能会导致一些奇怪的错误......你真的想在一个 USB 驱动器上创建 64 个分区,或者这可能是一个奇怪的错误。

整理分区表后,我认为这些命令应该可以工作:

  1. 创建 MBR (msdos) 分区表

    sudo parted /dev/sdb mktable msdos
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建一个分区(一个主分区,FS ID ext3,从 1MB 开始并使用 100% 的空间)(如果从 0% 或 0MB 开始,它没有与 MB 对齐并抱怨):

    sudo parted /dev/sdb mkpart primary ext3 1 100%
    
    Run Code Online (Sandbox Code Playgroud)
  3. 显然gpartedwipefs在格式化新分区或现有分区时会对其进行处理,以避免旧文件系统签名出现问题。所以也可以这样做:

    sudo wipefs -a /dev/sdb1
    
    Run Code Online (Sandbox Code Playgroud)
  4. 然后在刚刚创建的第一个分区 (sdb1) 上创建文件系统(-L标签是可选的,请参阅 mkfs.ext3/mke2fs 手册页以获取大量选项):

    sudo mkfs.ext3 -L "NewLabel" /dev/sdb1
    
    Run Code Online (Sandbox Code Playgroud)

这是来自parted <dummydevicefile> help mkpart(似乎比 man/info 页面更详细)的内置帮助:

mkpart PART-TYPE [FS-TYPE] START END     make a partition

    PART-TYPE is one of: primary, logical, extended  
    FS-TYPE is one of: zfs, btrfs, ext4, ext3, ext2, fat32, fat16, hfsx,
    hfs+, hfs, jfs, swsusp, linux-swap(v1), linux-swap(v0), ntfs, reiserfs,
    freebsd-ufs, hp-ufs, sun-ufs, xfs, apfs2, apfs1, asfs, amufs5, amufs4,
    amufs3, amufs2, amufs1, amufs0, amufs, affs7, affs6, affs5, affs4,
    affs3, affs2, affs1, affs0, linux-swap, linux-swap(new),
    linux-swap(old)
    START and END are disk locations, such as 4GB or 10%.  Negative values
    count from the end of the disk.  For example, -1s specifies exactly the
    last sector.

    'mkpart' makes a partition without creating a new file system on the
    partition.  FS-TYPE may be specified to set an appropriate partition
    ID.
Run Code Online (Sandbox Code Playgroud)