parted mktable error. но gparted «создать таблицу разделов» работает?

10

Я пытаюсь автоматизировать форматирование USB-накопителей. Что я делаю, это:

  1. Размонтировать USB-накопитель
  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.

Когда я создаю таблицу разделов на той же флешке в GParted, мне не нужно перезагружаться!

Что мне нужно ввести в терминал, чтобы мне не приходилось перезагружаться? Я имею в виду, GParted - это просто графический интерфейс для parted, верно?

schmiddl
источник

Ответы:

13

Во-первых, похоже, что вы пытаетесь создать таблицу разделов,
/dev/sdb1
а не на самом диске.
/dev/sdb

Я предполагаю, что это может привести к некоторым странным ошибкам ... Вы действительно пытаетесь создать 64 раздела на USB-накопителе или это может быть странной ошибкой.

После сортировки таблицы разделов, я думаю, эти команды должны работать:

  1. Создать таблицу разделов MBR (msdos)

    sudo parted /dev/sdb mktable msdos
    
  2. Создайте раздел (основной раздел с FS ID ext3, начиная с 1 МБ и используя 100% пространства) (Если начинать с 0% или 0 МБ, он не выровнен с МБ и жалуется):

    sudo parted /dev/sdb mkpart primary ext3 1 100%
    
  3. Очевидно, gpartedделает wipefsна новых или существующих разделах, когда они отформатированы, чтобы избежать проблем со старыми сигнатурами файловой системы. Так что может сделать это тоже:

    sudo wipefs -a /dev/sdb1
    
  4. Затем создайте файловую систему в первом только что созданном разделе (sdb1) ( -Lметка необязательна, см. Справочную страницу mkfs.ext3 / mke2fs для множества опций):

    sudo mkfs.ext3 -L "NewLabel" /dev/sdb1
    

Вот встроенная справка от 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.
Xen2050
источник
Вот и все, спасибо большое! Не могли бы вы помочь мне с дополнительными шагами, которые я должен предпринять, чтобы создать один раздел с файловой системой ext3, охватывающей весь USB-накопитель?
schmiddl
Я всегда использую gparted, но он использует partedбиблиотеки, так что он похож на интерфейс GUI ... и у него есть «представление вывода» (или подобное), которое позволяет вам видеть результаты команд, которые он использует, я думаю , что он показывает и сами команды так что попробуйте использовать его и посмотреть, если он говорит вам, какие команды он выполняет. man partedтоже должны быть хорошие объяснения ...
Xen2050
@schmiddl Я пытался следовать за gpartedсобой, он не показывал точные partedкоманды, но описывал, что он делает, поэтому я заполнил некоторые пробелы
Xen2050
Отлично, работает как шарм, спасибо большое! Есть еще одна вещь: он не будет монтироваться автоматически. Я сделал каталог в папке / media / и вручную смонтировал его в терминале. Есть ли команда терминала для автоматического монтирования раздела при подключении к компьютеру флешки?
Шмиддль
Различные окружения рабочего стола могут делать свое дело со съемными носителями, в XFCE в его настройках есть «Съемные диски и носители», где вы можете указать, что нужно монтировать / просматривать / автозапускать при вставке или «горячем подключении». У Unity где-то должны быть похожие настройки. Я думаю, что многие используют udisks/ udisksd, и большинство файловых менеджеров имеют список «дисков», где вы можете щелкнуть, чтобы смонтировать. Или программа типа Disks (gnome-disk-utility) обычно работает для просмотра разделов и монтирования / размонтирования.
Xen2050