błąd parted mktable. ale działa „tworzenie tabeli partycji” gparted?

10

Próbuję zautomatyzować formatowanie dysków USB. To co robię to:

  1. Odłącz dysk USB
  2. terminal: sudo parted / dev / sdb1 mktable msdos

To wtedy pojawia się następujący błąd:

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.

Kiedy tworzę tablicę partycji na tej samej pamięci USB w GParted, nie muszę restartować!

Co muszę wprowadzić do terminala, aby nie musiałem restartować się? Mam na myśli, że GParted to po prostu GUI do rozstania, prawda?

schmiddl
źródło

Odpowiedzi:

13

Po pierwsze, wygląda na to, że próbujesz utworzyć tablicę partycji na partycji
/dev/sdb1
zamiast na samym dysku
/dev/sdb

Zgaduję, że może to prowadzić do dziwnych błędów ... czy naprawdę próbujesz utworzyć 64 partycje na dysku USB, czy może to być dziwny błąd.

Po uporządkowaniu tabeli partycji myślę, że te polecenia powinny działać:

  1. Utwórz tablicę partycji MBR (msdos)

    sudo parted /dev/sdb mktable msdos
    
  2. Stwórz partycję (partycja podstawowa z FS ID ext3, zaczynająca się od 1 MB i wykorzystująca 100% miejsca) (jeśli zaczniesz od 0% lub 0 MB, nie jest dopasowana do MB i narzeka):

    sudo parted /dev/sdb mkpart primary ext3 1 100%
    
  3. Najwyraźniej gpartedrobi to wipefsna nowych lub istniejących partycjach po ich sformatowaniu, aby uniknąć problemów ze starymi sygnaturami systemu plików. Mógłby to również zrobić:

    sudo wipefs -a /dev/sdb1
    
  4. Następnie utwórz system plików na pierwszej właśnie utworzonej partycji (sdb1) ( -Letykieta jest opcjonalna, zobacz stronę podręcznika mkfs.ext3 / mke2fs, aby uzyskać wiele opcji):

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

Oto wbudowana pomoc od parted <dummydevicefile> help mkpart(wydaje się bardziej szczegółowa niż strona 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
źródło
To bardzo dziękuję! Czy możesz mi pomóc z dodatkowymi krokami, które muszę wykonać, aby utworzyć jedną partycję z systemem plików ext3 obejmującym cały dysk USB?
schmiddl
Zawsze używam gparted, ale korzysta z partedbibliotek, więc jest jak interfejs GUI ... i ma „widok wyjściowy” (lub podobny), który pozwala zobaczyć wyniki używanych poleceń, myślę, że pokazuje same polecenia również , więc spróbuj go użyć i sprawdź, czy powie ci, jakie polecenia wykonuje. man partedpowinien też mieć jakieś dobre wyjaśnienia ...
Xen2050,
@schmiddl Próbowałem śledzić gpartedsiebie, nie pokazywałem dokładnych partedpoleceń, ale opisałem, co robi, więc wypełniłem puste pola
Xen2050
Świetnie, działa jak urok, dziękuję bardzo! Jest jeszcze jedna rzecz: nie zamontuje się automatycznie. Zrobiłem katalog w folderze / media / i ręcznie zamontowałem go w terminalu. Czy istnieje polecenie terminala, aby partycja automatycznie montowała się po podłączeniu pamięci USB do komputera?
schmiddl
Różne środowiska pulpitu mogą robić swoje „własne rzeczy” z nośnikami wymiennymi, w XFCE jego Ustawienia mają „Dyski wymienne i nośniki”, w których można nakazać montowanie / przeglądanie / automatyczne uruchamianie po włożeniu lub „podłączeniu podczas pracy”. Unity powinno mieć gdzieś podobne ustawienia. Myślę, że wielu używa udisks/ udisksd, a większość menedżerów plików ma listę „dysków”, na których można montować kliknij. Lub program taki jak Dyski (gnome-disk-utility) zwykle działa do przeglądania partycji oraz montowania / odmontowywania.
Xen2050,