Mengapa stik USB yang disiapkan secara identik berbeda dalam satu byte?

15

Saya memiliki dua stik USB identik ( TrekStor 16GB ) yang disiapkan sebagai berikut dengan gambar c't bankix .

  1. Persiapan menggunakan GParted :

    • Menghapus partisi yang ada
    • Membuat tabel partisi DOS baru
    • Memformat tongkat dengan FAT32, partisi primer
  2. Memuat gambar ke tongkat melalui usb-creator-kde.

Jadi saya melakukan prosedur yang sama untuk kedua batang, tetapi yang satu boot dan yang lainnya mogok dengan pesan kesalahan:

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

Kemudian saya mencoba membandingkannya melalui sudo cmp /dev/sdb /dev/sdc. Ini menghasilkan:

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

Apa yang salah di sini, dan bagaimana cara memperbaikinya?

siswa
sumber
Anda dapat mencoba menyalin yang berfungsi di atas yang lain menggunakan dd, dan melihat apakah itu membantu. Atau Anda bisa menggunakan sfdisk untuk menyalin tabel partisi dari yang bagus, dan pergi dari sana.
Angelo
Ini memberitahu Anda di sana apa masalahnya - filesystem.squashfs tidak valid karena beberapa alasan, atau Anda salah mengonfigurasi proses boot. Itu adalah file gambar - terkompresi - ini adalah keseluruhan sistem file root Anda. Tapi ... initramf Anda mengira itu terletak di /cdrom. Dan tampaknya mencoba untuk me-mount sendiri di atas dirinya sendiri? Ini adalah hal initramfs - saya yakin itu baik-baik saja. Mungkin Anda memiliki kedua tongkat dicolokkan ke komputer pada saat yang sama? Atau mungkin Anda memiliki pengaturan duplikat yang seharusnya unik selama pengaturan. Tinggal jauh dari pencipta sistem hidup - mereka bermasalah.
mikeserv

Jawaban:

30

Meskipun saya tidak tahu mengapa satu crash (bad stick? Gambar korup?), Tersangka yang biasa untuk perbedaan dalam sistem file yang dibuat "identik", apakah mereka ISO9660 atau sebaliknya, adalah cap waktu , misalnya untuk waktu pembuatan. Atau label sistem file default acak . Jika Anda menginginkan data yang identik pada keduanya, ddgambar yang baik ke tongkat lain dan memverifikasi checksum mereka (md5sum atau lainnya; ada yang akan melakukannya).

Oh, dan asumsi dari judul pertanyaan Anda tidak berlaku. Tidak hanya satu byte yang berbeda. cmphanya memberi tahu Anda hal pertama yang berbeda dan kemudian keluar.

Jens
sumber
22

Kemungkinan besar, mereka tidak berbeda hanya dengan satu byte. Ini hanya byte pertama yang berbeda. Jalankan cmp -l dev/sdb /dev/sdcuntuk mendaftar semua perbedaan.

512 byte pertama dari tongkat adalah sektor bootnya . Offset 441 (440 jika Anda mulai penomoran pada 0) adalah lokasi tanda tangan disk yang seharusnya mengidentifikasi disk secara unik (untuk manfaat Windows - Saya tidak ingat melihat perawatan Linux). Diharapkan mereka akan berbeda. File pada stick yang seharusnya identik, bukan label disk (atau cap waktu file, by the way).

Verifikasi bahwa tongkat yang macet memiliki konten file yang benar. Mungkin rusak secara fisik.

Gilles 'SO- berhenti menjadi jahat'
sumber