Dlaczego moje identycznie przygotowane pamięci USB różnią się jednym bajtem?

15

Mam dwa identyczne urządzenia USB ( TrekStor 16 GB ) przygotowane w następujący sposób z obrazem c't bankix .

  1. Przygotowanie przy użyciu GParted :

    • Usunięto istniejącą partycję
    • Utworzono nową tablicę partycji DOS
    • Sformatowano pamięć przy użyciu FAT32, partycja podstawowa
  2. Załadowałem obraz na patyk przez usb-creator-kde.

Zrobiłem identyczną procedurę dla obu drążków, ale jeden uruchamia się, a drugi zawiesza się z komunikatem o błędzie:

(initramfs) mount: mounting /dev/loop0 on //filesystem.squashfs failed: No such device
Can not mount /dev/loop0 (/cdrom/casper/filesystem.squashfs) on //filesystem.squashfs

Potem próbowałem je porównać sudo cmp /dev/sdb /dev/sdc. Spowodowało to:

/dev/sdb /dev/sdc differ: byte 441, line 5

Co tu jest nie tak i jak to naprawić?

student
źródło
Możesz spróbować skopiować działający jeden nad drugim za pomocą dd i sprawdzić, czy to pomaga. Lub możesz po prostu użyć sfdisk, aby skopiować tabelę partycji z dobrej i stamtąd.
Angelo,
Mówi ci, na czym polega problem - system plików.squashfs jest z jakiegoś powodu nieprawidłowy, lub źle skonfigurowałeś proces uruchamiania. To plik obrazu - skompresowany - to cały system plików root. Ale ... twoje initramfs myśli, że to jest zlokalizowane /cdrom. I najwyraźniej próbuje się wspinać na siebie? To jest sprawa initramfs - założę się, że jest w porządku. Może masz oba patyki podłączone do komputera w tym samym czasie? Lub możliwe, że w innym przypadku powielono ustawienia, które powinny być unikalne podczas instalacji. Unikaj twórców systemu na żywo - to kłopoty.
mikeserv

Odpowiedzi:

30

Chociaż nie wiem, dlaczego się zawiesi (zły kij? Uszkodzony obraz?), Zwykłym podejrzanym o różnice w „identycznie” stworzonych systemach plików, czy to ISO9660, czy innych, są znaczniki czasu , np. Czas utworzenia. Lub losowa domyślna etykieta systemu plików . Jeśli chcesz mieć identyczne dane na obu, dddobry obraz na drugim drążku i sprawdź ich sumy kontrolne (md5sum lub inne; dowolne zrobi).

Och, a założenie z tytułu twojego pytania nie ma zastosowania. Różni się nie tylko jeden bajt. cmpmówi tylko, że pierwszy jest inny, a następnie wychodzi.

Jens
źródło
22

Najprawdopodobniej nie różnią się one tylko o jeden bajt. To tylko pierwszy różniący się bajt. Uruchom, cmp -l dev/sdb /dev/sdcaby wyświetlić wszystkie różnice.

Pierwsze 512 bajtów kija to sektor rozruchowy . Przesunięcie 441 (440, jeśli zaczynasz numerowanie od 0) jest lokalizacją podpisu dysku, który ma jednoznacznie identyfikować dysk (dla korzyści systemu Windows - nie pamiętam, żeby Linux był ostrożny). Można się spodziewać, że będą się różnić. To pliki na patyku, które powinny być identyczne, a nie etykiety dysków (nawiasem mówiąc, znaczniki czasowe plików).

Sprawdź, czy pamięć, która ulega awarii, ma prawidłową zawartość pliku. Może być fizycznie uszkodzony.

Gilles „SO- przestań być zły”
źródło