Nie można usunąć partycji dysku USB (błąd rozmiaru bloku)

123

Nie byłem w stanie sformatować / usunąć partycji na moim dysku USB Sandisk Cruzer Force 32 GB. Podczas usuwania dowolnej partycji pojawia się następujący błąd.

`Error deleting partition /dev/sdd2: Command-line `parted --script "/dev/sdd" "rm 2"' exited with non-zero exit status 1: Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes.
(udisks-error-quark, 0)

Czy jest jakiś sposób, aby całkowicie sformatować cały dysk i przekształcić go w jedną dużą partycję? Nie znalazłem jeszcze rozwiązania tego konkretnego błędu, więc pomyślałem, że chociaż raz o to poproszę

Nektar
źródło
Korzystam z dysków. GParted nie wykrywa / nie wyświetla mojego napędu USB.
Nektar
4
Czy najpierw próbowałeś go wyczyścić dd if=/dev/zero of=/dev/sdd bs=2048? UPEWNIJ SIĘ, ŻE KORZYSTASZ / dev / sdd TYLKO JEŚLI TO, CO TO JEST!
Daniel
Cudownie, działało idealnie. Zapamiętam te polecenia :)
Nectar,

Odpowiedzi:

173

Opisany problem został spowodowany przez narzędzie niskiego poziomu (np. Dd) zapisujące bloki w niewłaściwym rozmiarze bezpośrednio na urządzeniu.

Aby to naprawić, musisz ponownie zapisać bloki urządzenia do odpowiedniego rozmiaru. Można to zrobić za pomocą dd. Przed uruchomieniem polecenia dokładnie sprawdź urządzenie wyjściowe

sudo dd if=/dev/zero of=/dev/sdd bs=2048 count=32

Po wykonaniu polecenia dd powinieneś mieć dostęp do swojego urządzenia poprzez gparted.

agrest
źródło
Brzmiało to tak dobrze, ale nadal nie działało dla mnie :( Czy jest jakiś sposób, aby to naprawić?
Eric Fossum,
7
Byłem w stanie naprawić ten błąd bez ponownego zapisywania całego urządzenia, właśnie dodałem count=32na końcu polecenia, a następnie uruchomiłem dd. Znacznie szybciej w ten sposób ;-)
Ten Brazylijczyk
5
@Lee Będzie zapisywać tylko 32 bloki (w tym przypadku 32 bloki po 2048 bajtów lub 68 KB), zamiast zapisywać każdy bajt na urządzeniu. Uważam, że wystarczy nadpisanie tablicy partycji lub równoważnego obszaru na początku urządzenia. Dla pewności podałem 32 bloki.
Ten Brazylijczyk
1
Działało, ale musiałem ponownie uruchomić komputer, aby działał po użyciu wiersza polecenia.
Danyl Bekhoucha
2
@gooseberry Nie sądzę, że „pisanie bloków w niewłaściwym rozmiarze” jest możliwe. Jedyną różnicą powinna być szybkość (aw przypadku pamięci flash zużycie). Polecenie prawdopodobnie działa, ale wyjaśnienie wydaje się niewłaściwe.
Martin
26

Zawsze możesz spróbować użyć fdisk

Otwórz terminal ( Ctl+ ALt+ t) i typ

sudo fdisk /dev/sdy

gdzie /dev/sdy= plik urządzenia dla dysku flash. Po fdiskotwarciu wpisz plistę tabeli partycji. Gdy wiesz, gdzie ona się znajduje, możesz d #ją usunąć. (#= Partycja; PRZYKŁAD d 1, d 2) wzapisuje tablicę partycji z powrotem na dysk i qkończy pracę, w mcelu uzyskania pomocy)

Jeśli się fdisknie powiedzie, wtedy użyłbym dd (Uważaj, używając tego, bo nie otrzymał pseudonimu bez powodu)

sudo dd if=/dev/zero of=/dev/sdy bs=512 count=1

Oczywiście /dev/sdynależy wymienić na rzeczywiste urządzenie dla dysku flash, zrobi to za Ciebie. Możesz zwiększyć liczbę = liczbę, aby zapisać zera na większej części dysku lub całkowicie ją pominąć, aby zastąpić cały dysk. Nie trzeba dodawać, że jeśli to zrobisz, bezpowrotnie stracisz wszystkie pliki, które mogły zostać zapisane na dysku.

DnrDevil
źródło
2
Działał idealnie. Zrobił sudo fdisk /dev/sda, a następnie w wierszu polecenia wpisałem dkilka razy kolejno, aby usunąć każdą partycję, a następnie wnapisać moje zmiany. Następnie wyjął dysk USB, włożył go ponownie i użył menedżera dysków do utworzenia partycji Fat32.
Robin Winslow
Jaki jest ddpseudonim?
Kolob Canyon
Czy to oznacza dick deathpogromcę demonów?
Kolob Canyon
Miły! nie potrzebowałem pogromcy demonów: |
Kolob Canyon
Najwyraźniej jest nazywany po siostrze Dextera z laboratorium Dextera, Dee Dee, która losowo naciska dowolny przycisk, tworząc wszelkiego rodzaju chaos
ecv
12
wipefs -a /dev/your-device

spowoduje to usunięcie całej partycji na dysku

May Sirus
źródło
2
To polecenie pomogło mi w moim przypadku, gdy nie mogłem sformatować dysku USB. Zachowaj ostrożność przy wyborze ścieżki urządzenia. Podwójne sprawdzenie!
Bakhtiyor
1
zaktualizowano dla najprostszej odpowiedzi, która działa
Knocte
4

dd jest potężny, ale niebezpieczny

ddjest bardzo potężnym, ale także bardzo niebezpiecznym narzędziem. Działa dobrze, aby wyczyścić pierwszą część dysku USB w celu usunięcia wszelkich danych, które mogą mylić narzędzie, którego chcesz użyć. Ale ddrobi to, co mu każesz, bez pytania, więc jeśli powiesz mu, aby wyczyściło zdjęcia rodzinne ... a drobny błąd pisania wystarczy, aby zastąpić inny dysk zamiast napędu USB, który chcesz zastąpić.

Tak, możesz użyć dd, jeśli wiesz, co robisz, ale sprawdź i dwukrotnie sprawdź, czy wiersz polecenia ddjest poprawny.

mkusb owija pas bezpieczeństwa wokół dd

mkusb zapewnia graficzny interfejs użytkownika z punktami kontrolnymi, które pomagają zidentyfikować dysk docelowy i dokładnie sprawdzić, czy wycierasz właściwy dysk.

Dostępne są opcje menu, aby wyczyścić pierwszy megabajt (faktycznie mibibajt), co zwykle wystarcza, lub cały dysk, co jest procesem powolnym i przydatnym tylko w szczególnych przypadkach, na przykład, gdy pendrive zwalnia (na przykład mniej niż połowa oryginalnej prędkości.)

wprowadź opis zdjęcia tutaj

Zobacz te linki, aby uzyskać szczegółowe informacje na temat instalowania i używania mkusb wersja 12 alias mkusb-dus.

help.ubuntu.com/community/mkusb

mkUSB-quick-start-manual.pdf

sudodus
źródło
3

Ten problem ma coś wspólnego z dyskami startowymi opartymi na UEFI. Często tworzę rozruchowy dysk USB, a następnie potrzebuję go do przechowywania, ale nie mogę usunąć partycji.

To jedno polecenie poniżej zapełnia tablicę partycji, dzięki czemu mogę robić cokolwiek chcę z dyskiem USB.

sudo sgdisk --zap-all /dev/???

Zastąpić ??? z odpowiednim identyfikatorem (np. sdc) odpowiadającym dyskowi USB, który ma zostać wyczyszczony. Można to znaleźć przez -

sudo parted -l

lub

sudo fdisk -l

lub

za pomocą narzędzia dyskowego .

Sri
źródło
To najlepsza odpowiedź. Zobacz także 1065719/256054 .
Lonnie Best
2

Użyj fdiskpolecenia, aby usunąć partycję i utworzyć ponownie.

Uruchom polecenie:

sudo fdisk /dev/sdxY  

(W moim przypadku partycja to „sdb1” - zastąp prawidłową nazwą)

Polecenie (w mcelu uzyskania pomocy): daby usunąć partycję, wybierz 1 lub 2.

Wpisz, waby zapisać i wyjść.

Teraz wyjmij usb i podłącz ponownie, aby sprawdzić zmiany.

Jazeb_007
źródło