„Fizyczny rozmiar bloku to 2048 bajtów, ale Linux mówi, że ma 512” podczas formatowania USB - Jak stworzyć bootowalny USB bez tego błędu


95

Używałem:

dd  if=/path/to/my/ubuntuiso/ubuntu.iso  of=/dev/sdb1  bs=4M  &&  sync

Aby utworzyć rozruchowe dyski USB Ubuntu w starszych wersjach Ubuntu. Działało idealnie. Czasami korzystałem z Startup Disk Creatorprogramu, który działał dobrze.

Ale kiedy używam tych samych metod na Ubuntu 16.04 LTS, otrzymuję ostrzeżenia podczas formatowania go później.

Nośnik instalacyjny działa zgodnie z oczekiwaniami, ale kiedy próbuję sformatować pamięć USB po zakończeniu pracy, pojawia się następujące ostrzeżenie:

wprowadź opis zdjęcia tutaj

Dzielenie tego Pendrive wygląda dziwnie:

wprowadź opis zdjęcia tutaj

Pokazuje też mój pendrive 16 GB jako 64 GB.

Po wielu zmaganiach z Gparted, jakoś go sformatuję. Ale dlaczego tak się dzieje ?? Czy są jakieś lepsze metody tworzenia bootowalnego Ubuntu w 16.04?

EDIT : jest powiązany pytanie tutaj . Ale moje pytanie nie dotyczy tego, jak poprawnie sformatować. Moje pytanie brzmi: „Jak utworzyć rozruchowy USB bez tych błędów”. & „Jakie są przyczyny tego błędu”


dla UEFI używam poleceń sgdisk - w ciągu ostatnich kilku miesięcy stworzyłem w ten sposób 6 dystrybucji USB na żywo i to działa dla mnie pięknie
Zanna

@Zanna, proszę wyjaśnić użycie sgdisk
Severus Tux

Czy jesteś pewien, że to właściwe urządzenie? Jeśli powinien mieć 16 GB, może to jest / dev / sdc lub coś innego. Wiele kart SD ma pojemność 64 GB, a te zwykle nie działają przy uruchamianiu. Twój dysk nie zawsze będzie pokazywał to samo (sdb sdc) i wszystko zależy od tego, który dysk został zamontowany jako pierwszy.
mchid

1
Sformatuję USB mkfspo ISO. Działa niezależnie od metody tworzenia USB.
UniversallyUniqueID

Odpowiedzi:


118

Metoda wiersza polecenia umożliwiająca utworzenie USB na żywo dla systemów UEFI

Uwaga: powoduje to usunięcie wszystkich danych na urządzeniu docelowym.

Zainstaluj warunek wstępny:

sudo apt-get install p7zip-full

Zakładając, że docelowy USB jest w /dev/sdb

( najpierw sprawdź za pomocą lsblklub gnome-diskslub sudo fdisk -li upewnij się, że wiesz, co formatujesz)

Upewnij się, że urządzenie nie ma zamontowanego systemu plików i odmontuj go, jeśli to konieczne, na przykład:

udisksctl unmount -b /dev/sdb1

Zniszcz istniejącą tablicę partycji:

sudo sgdisk --zap-all /dev/sdb

Utwórz nowy GPT:

sudo sgdisk --new=1:0:0 --typecode=1:ef00 /dev/sdb

Sformatuj jako FAT32:

sudo mkfs.vfat -F32 /dev/sdb1

Sprawdź to:

sudo fdisk -l /dev/sdb

Powinien generować coś takiego:

Device     Start      End  Sectors  Size Type
/dev/sdb1   2048 15663070 15661023  7.5G EFI System

Zamontuj dysk i wyodrębnij na nim plik iso, zastępując „name-of-iso” rzeczywistą nazwą pliku iso, który wcześniej pobrałeś

sudo mount -t vfat /dev/sdb1 /mnt
sudo 7z x name-of-iso -o/mnt/

Odmontuj

sudo umount /mnt

Teraz uruchom ponownie i ciesz się Ubuntu ^ _ ^

( Oto, gdzie pierwotnie nauczyłem się to robić.)


3
Robiąc to ... ale to wymaga pakietów. p7zip-fullByłoby lepiej, gdybyś dodał, robiąc to samo z tarodpowiedzią.
Severus Tux,

3
łał! Dziękuję Ci bardzo . To dobrze działa. partycja wygląda na czystą . Byłoby najlepiej, jeśli dodasz rozpakowywanie za pomocą wbudowanych narzędzi, takich jak tarw odpowiedzi. (lub nawet dodanie, że 7z jest dostępny w p7zip-full)
Severus Tux

2
Poprawiam ten post, ponieważ jest to ładny opis pokazujący „wszystkie” podstawowe kroki :-) Ale są też narzędzia, które robią rzeczy automatycznie dla leniwego użytkownika ;-)
sudodus

3
To jedyna działająca dla mnie poniżej 16.04. Dzięki! Domyślna aplikacja psuje nośniki muy z błędnym błędem rozmiaru bloku i tworzy system plików tylko do odczytu, którego nie mogłem przywrócić z powodu problemu z wielkością bloku. Ta metoda pozwala użytkownikowi cieszyć się pozostałą wolną przestrzenią.
user334639,

3
Twórca USB Ubuntu 17.04 (Startup Disk Creator) za każdym razem „psuje” mój dysk USB. I ten krok po kroku tutaj jest jedynym sposobem na przywrócenie go do normalnego zapisu. gparted nie może.
isync

39

Oto jak rozwiązałem problem z otrzymywaniem tego błędu podczas próby sformatowania USB po użyciu go jako nośnika instalacyjnego:

  • Najpierw otwórz aplikację Dyski w obszarze Aplikacje> Dyski
  • Wybierz bootowalny pendrive.
  • W prawym górnym rogu pojawi się menu opcji
  • Wybierz opcję Formatuj dysk ( CTRL+ F)
  • Zostanie wyświetlone okno podręczne. Wybierz partycję 0 i sformatuj dysk
  • Teraz dysk będzie pusty, ale nie zostanie rozpoznany przez system. Ale możesz to zobaczyć w aplikacji Dyski.
  • Wybierz pendrive i sformatuj go ponownie. Teraz pendrive może zostać wykryty przez dowolny system.

Akceptowana odpowiedź jest zbyt złożona, aby jej użyć, ponieważ wymagała dużo pisania i zapamiętywania konkretnej nazwy dysku (w przeciwnym razie możesz mieć poważny problem). Mój jest bardzo łatwy do wdrożenia.


2
+1, ale myślę, że to pytanie ma mylący tytuł - zredagowałem je. Przyjęta odpowiedź na to pytanie jest metodą tworzenia nośników instalacyjnych , zgodnie z żądaniem OP, a nie tylko formatowaniem dysku (i zawsze musisz mieć pewność, że wybierasz odpowiednie urządzenie podczas formatowania, bez względu na to, jakiej metody używasz!)
Zanna

Ok, dziękuję za informację. Teraz Zgodnie z edytowanym tytułem możesz użyć kreatora dysku startowego, aby utworzyć nowy nośnik instalacyjny po sformatowaniu dysku.
Gopal Prasad

Dziękuję Ci. Menu w prawym górnym rogu nie było oczywiste.
Tor Klingberg,

16

Stwierdzono, że problem jest spowodowany błędem w usb-creator-gtk. Ustawia niewłaściwy rozmiar bloku podczas tworzenia nośnika startowego.

Jeśli ten błąd dotyczy Ciebie, możesz go oznaczyć tutaj: https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/1589028


1
W ostatnim komentarzu na powyższej stronie znajduje się użytkownik o nazwie EoflaOE, a pod nim widać komentarze i to, co na mnie wpłynęło, i co zasugerowałem, aby nigdy nie próbować uszkodzić USB jak ostatnim razem. Jeśli chcesz stworzyć własny rozruchowy USB, użyj Rufus lub Universal USB Creator, dopóki ten błąd nie zostanie naprawiony.
Eofla

14

To było o wiele łatwiejsze. Po prostu zamień na /dev/sddswój adres urządzenia. Można to znaleźć w narzędziu Disks lub Gparted .

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

Następnie możesz użyć narzędzia Startup Disk Creator, aby nagrać obraz na dysk.


7

Używam UNetbootin na Ubuntu (zarówno starsza wersja, jak i 16.04) i działa dobrze na moim komputerze. Oto link, aby uzyskać więcej informacji.

sudo apt-get install unetbootin

3
dziękuję za twoje zainteresowania, ale moje pytanie nie brzmi „jakieś alternatywy?” moje pytanie brzmi „Dlaczego te metody nie działają zgodnie z oczekiwaniami?”. Byłbym także wdzięczny za wszelkie inne metody, które nie wymagają użycia narzędzi stron trzecich .
Severus Tux,

7
@SeverusTux W rzeczywistości unetbootin nie jest bardziej firmą trzecią niż czymkolwiek innym. Jest dostępny poprzez apt-get.
mchid

Nie zezwala na instalację obrazu dysku (wielu partycji), nalega, aby jedna partycja była już zamontowana.
Gringo Suave

5

Spróbuj w dd if=/path/to/my/ubuntuiso/ubuntu.iso of=/dev/sdb ten sposób nigdy mnie nie zawiodło. (Uwaga b nie b1 na końcu - zniszczy inne partycje, jeśli są obecne)

Czy sprawdziłeś, czy ISO jest uszkodzone?

Również wykonanie tego z TTY, gdy nie jest zalogowany w środowisku graficznym, może pomóc w wyśledzeniu problemu.

Edycja: zamiast ISO można /dev/nullzastąpić tablicę partycji.


jak to: dd if = / dev / null of = / dev / sdb? Wydaje się, że to nic nie robi
quantumbutterfly

2
/dev/nullwskazuje na „nic” i jest używany jako wynik, ale /dev/zerogeneruje zero znaków (ascii 0).
sudodus

2

Skarga na rozmiar bloku była prawdopodobnie spowodowana błędem w oprogramowaniu odczytującym iso9660system plików. Nowa wersja gpartedzostała wydana i jest dostępna przynajmniej w Ubuntu 17.10, gdzie ten błąd jest zgnieciony.


Możesz użyć mkusbdo sklonowania dysku. Ta metoda nie jest wrażliwa na zawartość dysku, więc jest bardzo niezawodna.

Jest również bardzo bezpieczny, ponieważ mkusb owija bezpieczny pas ”wokół potężnego, ale niebezpiecznego ddpolecenia. Dysk docelowy jest pokazany bardzo wyraźnie i masz końcowy punkt kontrolny, w którym możesz dwukrotnie sprawdzić, czy będziesz instalować na odpowiednim dysku (i uniknąć błędów).

Zobacz ten link: https://help.ubuntu.com/community/mkusb

Jeśli nadal nie działa, możesz spróbować zgodnie z poniższym linkiem,

Nie można sformatować dysku USB. Próbowałem już z mkdosfs i gparted - Analiza problemu

Zauważ, że nie musisz zaczynać od formatowania, ponieważ mkusb i tak zastąpi poprzednią zawartość dysku. Możesz iść bezpośrednio i

  • zainstaluj system operacyjny z pliku ISO (lub pliku obrazu) lub
  • przywróć dysk do standardowego urządzenia pamięci masowej

1

problem, który pojawia się przy wybranej odpowiedzi : pendrive jest teraz niewidoczny po włożeniu. (Używam 64-bitowego systemu Lubuntu 16.04) Rozwiązanie: Otwórz Disksnarzędzie, aby je zamontować.

In Lubuntu: Start menu > Preferences > Disks.

Z wybraną odpowiedzią powróciliśmy do tego, że wróciliśmy do starego, dobrego sposobu, w którym dysk USB zapisuje rozruchowy ISO na nim i wciąż pozostaje zapisywalnym dyskiem USB z pozostałą przestrzenią dostępną do przechowywania innych plików (z innego istniejącego systemu operacyjnego, w którym nie uruchamiamy systemu operacyjnego na żywo). Od Startup Disk Creator16.04 r. Usuwa pamięć USB, tworząc partycję tylko do odczytu, podobną do płyty CD, czyniąc pozostałą część pamięci USB nieprzydzieloną (więc dysk 32 GB staje się dyskiem tylko do odczytu 900 MB), a ja nie byłem w stanie utworzyć dowolną partycję dodatkową w nieprzydzielonym miejscu.

Aktualizacja: Wydaje się, że Unetbootin wykonał zadanie, pendrive pozostał widoczny, nie ukrywał się po włożeniu, a pozostała część dysku pozostała dostępna do przechowywania innych danych. ALE dysk NIE został rozpoznany jako bootowalny USB po uruchomieniu laptopa! Użyłem wersji UNetBootin z Ubuntu.


1. Możesz mieć więcej szczęścia, jeśli zainstalujesz Unetbootin z PPA dewelopera, ponieważ wersja w repozytorium Ubuntu może być za stara (nieaktualna, aby poradzić sobie z nowymi wersjami Ubuntu); 2. Komunikat o błędzie w tytule tego pytania wynika z faktu, że oprogramowanie nie rozumie systemu plików iso9660 sklonowanego napędu rozruchowego; 3. A jeśli masz problemy z przywróceniem dysku do standardowego urządzenia pamięci, możesz użyć mkusb zgodnie z linkiem w mojej odpowiedzi. (Jest to możliwe również w przypadku gparted i Disks, ale może trudniejsze.)
sudodus

0

Miałem dokładnie ten sam problem, nawet na zupełnie nowym dysku SSD. Użyłem wersji Linux Mint 18.1 i Ubuntu 16.04 LTS ISO. Bez względu na to, ile razy pobrałem plik ISO, przepisałem go ponownie i wykonałem wszystkie powyższe kroki, aby rozwiązać wzmiankę o błędzie, po prostu nie zniknie. Dziwnie miałem Mint 18.1 zainstalowany i chciałem zrobić nową instalację, ale potem napotkałem błąd. Użyłem nawet tego samego dysku USB i dysku SSD, aby zainstalować system Windows 10, a następnie przepisałem te same dyski USB AGAION w systemie Ubuntu 16.04 / Mint 18.1 i instalacja nie powiodła się. Uważam, że wystąpił błąd w pliku ISO lub mój konkretny sprzęt nie jest zgodny. Zmarnowałem kilka GODZIN mojego życia.

** ROZWIĄZANIE: Pobrano Ubuntu 17.04 ISO i zainstalowano. Działa dobrze na tym samym sprzęcie, na tych samych dyskach / dyskach USB, w których Ubuntu 16.04 nie miałby żadnego z nich. ****


0

Najwyraźniej błąd polega na częściowym niepoprawnym odczycie napędu, a nie na poleceniu dd lub programie Startup Disk Creator

Raport błędów Debiana dla parted: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788808

Obejście: Jeśli użyjesz fdisk zamiast parted, zobaczysz prawidłowe partycjonowanie. Użyj fdisk zamiast parted, aż błąd parted zostanie naprawiony.


0

Szkoda, że ​​wiele z tych narzędzi dyskowych GUI nie tylko pozwala usunąć tablicę partycji z USB, zamiast tylko monitować głupimi błędami, takimi jak:

Physical block size is 2048 bytes, but Linux says it is 512 bytes

To okno dialogowe błędu powinno być połączone z tym pytaniem:

Would you like delete the partition table on this device (all data will be lost)?

Ponieważ tak się nie dzieje, możesz natychmiast zrobić to sam za pomocą tego polecenia:

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

Przed wykonaniem powyższego polecenia upewnij się, że są dwie rzeczy:

  1. Upewnij się, że twój terminal jest zalogowany na komputerze, który uważasz.
  2. Upewnij się, że ścieżka urządzenia jest poprawna (patrz znak zapytania w powyższym poleceniu, musisz zmienić ją na prawidłową ścieżkę urządzenia).

Jak wspomnieli inni, ścieżkę urządzenia można ustalić za pomocą:

sudo fdisk -l

Następnie prawdopodobnie możesz kontynuować, używając narzędzia, którego używałeś, gdy pojawił się ten błąd.

BTW, rozwiązania polecenia dd dla tego problemu są zbyt wolne dla moich potrzeb. Wszystko, co naprawdę chcę zrobić, to pozbyć się tego błędu, bez czekania na dd, aby wyzerować cały dysk.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.