Bagaimana cara menghapus iso 9660 dari USB?

22

Saya entah bagaimana berhasil menulis gambar iso 9660 ke drive USB saya, yang membuat semua komputer saya berpikir bahwa perangkat itu sebenarnya adalah CD. Saya telah mencoba berbagai metode untuk menghapus partisi ini, tetapi sepertinya tidak ada yang berhasil. Saya sudah mencoba fdisk, yang mengatakan

$ fdisk -l / dev / sdb
Tidak bisa membuka / dev / sdb
berpisah macet ketika saya mencoba menggunakannya di perangkat ini.

Saya bahkan sudah mencoba

$ dd if = / dev / zero of = / dev / sdb
tetapi hanya hang tanpa output (baik di layar atau di disk). Namun, ketika saya mencolokkan USB, itu memang me-mount, dan saya bisa melihat (tetapi tidak mengedit) file di dalamnya.

sunting : sekarang hasilnya

$ dd if = / dev / zero of = / dev / sdb
dd: opening `/ dev / sdb ': Sistem file read-only

Saya juga telah mencoba memformat ulang pada Windows, tetapi sampai pada akhir proses format dan kemudian berkata "Tidak dapat memformat drive".

Bagaimana saya bisa menghapus partisi ini dan mengembalikan seluruh drive USB saya kembali normal?

EDIT 1 : Mencoba yang sederhana mkfstidak berhasil:

$ sudo mkfs -t vfat / dev / sdb
mkfs.vfat 3.0.0 (28 Sep 2008)
mkfs.vfat: Tidak akan mencoba membuat filesystem di perangkat full-disk '/ dev / sdb' (gunakan -I jika diinginkan)
Saya tidak bisa melakukan mkfspada /dev/sdb1karena tidak ada partisi seperti, seperti yang ditunjukkan:
$ ls / dev | grep sdb
sdb

EDIT 2 : Ini adalah informasi yang diposting oleh dmesg ketika saya menghubungkan perangkat:

$ dmesg
.
. (menggunting)
.
usb 2-1: Perangkat USB baru ditemukan, idVendor = 058f, idProduct = 6387
usb 2-1: String perangkat USB baru: Mfr = 1, Produk = 2, SerialNumber = 3
usb 2-1: Produk: Mass Storage
usb 2-1: Pabrikan: Generik
usb 2-1: SerialNumber: G0905000000000010885
usb-storage: perangkat ditemukan di 4
usb-storage: menunggu perangkat diselesaikan sebelum pemindaian
usb-storage: pemindaian perangkat selesai
scsi 6: 0: 0: 0: Akses Langsung FLASH Drive AU_USB20 8.07 PQ: 0 ANSI: 2
sd 6: 0: 0: 0: [sdb] 4069376 sektor perangkat keras 512-byte (2084 MB)
sd 6: 0: 0: 0: [sdb] Write Protect tidak aktif
sd 6: 0: 0: 0: [sdb] Mode Sense: 03 00 00 00
sd 6: 0: 0: 0: [sdb] Dengan asumsi cache drive: tulis
sd 6: 0: 0: 0: [sdb] 4069376 sektor perangkat keras 512-byte (2084 MB)
sd 6: 0: 0: 0: [sdb] Write Protect tidak aktif
sd 6: 0: 0: 0: [sdb] Mode Sense: 03 00 00 00
sd 6: 0: 0: 0: [sdb] Dengan asumsi cache drive: tulis
 sdb: tabel partisi tidak dikenal
sd 6: 0: 0: 0: [sdb] Attached SCSI removable disk
sd 6: 0: 0: 0: Terlampir scsi generic sg2 type 0
Ekstensi ISO 9660: Microsoft Joliet Level 3
Ekstensi ISO 9660: RRIP_1991A
SELinux: diinisialisasi (dev sdb, ketik iso9660), menggunakan genfs_contexts
CE: hpet meningkatkan min_delta_ns menjadi 15000 nsec
Ini menunjukkan bahwa perangkat diformat sebagai ISO 9660 dan bahwa itu adalah /dev/sdb .

EDIT 3 : Ini adalah pesan yang saya temukan di bagian bawah dmesgsetelah menjalankan cfdiskdan menulis tabel partisi baru ke disk:

SELinux: diinisialisasi (dev sdb, ketik iso9660), menggunakan genfs_contexts
sd 17: 0: 0: 0: [sdb] Perangkat tidak siap: Sense Key: Not Ready [saat ini] 
sd 17: 0: 0: 0: [sdb] Perangkat tidak siap: <> ASC = 0xff ASCQ = 0xffASC = 0xff <> ASCQ = 0xff
end_request: I / O error, dev sdb, sector 0
Buffer I / O error pada perangkat sdb, blok logis 0
penulisan halaman yang hilang karena kesalahan I / O pada sdb

a_m0d
sumber
Apakah Anda yakin selalu memuat di / dev / sdb? Jika Anda melihat akhir dari / var / log / messages setelah perangkat terinstal, Anda akan melihat pesan-pesan log yang berkaitan dengan automountnya.
mas
3
Apakah Anda yakin saat ini tidak dipasang dengan cdf atau yang setara?
RBerteig
1
@ Slink84: Saya pikir saya baru saja pergi sudo dd if=some.iso of=/dev/sdb- Saya tidak ingat melakukan hal lain yang bisa melakukannya
a_m0d
1
Gambar itu adalah gambar standar eeebuntu-3.0.0 - tidak tahu siapa yang membuat perangkat, tapi saya pikir itu adalah Toshiba
a_m0d
1
Dari pasangan VID / PID, ini dibuat oleh "Alcor Micro Corp.", dan merupakan "Transcend JetFlash Flash Drive". Saya menggunakan daftar di linux-usb.org/usb.ids untuk mencari hal-hal ini.
RBerteig

Jawaban:

8

Oke, ternyata dalam hal ini sesuatu (mungkin ketika saya menulis sistem file iso-9660 ke drive) telah memicu beberapa bentuk perlindungan penulisan internal pada drive. Tidak ada switch proteksi / tahan eksternal, namun ini adalah output dmesgketika saya menjalankan

dd if=/dev/zero of=/dev/sdb

sebagai root:

sd 9: 0: 0: 0: [sdb] Tambah. Sense: Menulis terproteksi
end_request: I / O error, dev sdb, sektor 4028744
sd 9: 0: 0: 0: [sdb] Hasil: hostbyte = DID_OK driverbyte = DRIVER_SENSE, SUGGEST_OK
sd 9: 0: 0: 0: [sdb] Sense Key: Data Protect [saat ini] 
Info fld = 0x0

Perhatikan komentar di sana tentang perlindungan! Namun, ketika saya mencolokkan perangkat, saya mengerti,

scsi 10: 0: 0: 0: Akses Langsung FLASH Drive AU_USB20 8.07 PQ: 0 ANSI: 2
sd 10: 0: 0: 0: [sdb] 4069376 sektor perangkat keras 512-byte (2084 MB)
sd 10: 0: 0: 0: [sdb] Write Protect tidak aktif
sd 10: 0: 0: 0: [sdb] Mode Sense: 03 00 00 00
sd 10: 0: 0: 0: [sdb] Dengan asumsi cache drive: write through
sd 10: 0: 0: 0: [sdb] 4069376 sektor perangkat keras 512-byte (2084 MB)
sd 10: 0: 0: 0: [sdb] Write Protect tidak aktif
sd 10: 0: 0: 0: [sdb] Mode Sense: 03 00 00 00
sd 10: 0: 0: 0: [sdb] Dengan asumsi cache drive: write through

Perhatikan bahwa pesan ini mengatakan bahwa perangkat ini tidak dilindungi dari penulisan! Jadi sayangnya, sepertinya disk sudah memilikinya (yaitu kaput ).

a_m0d
sumber
Saya mendengar di masa lalu tentang perangkat flash yang menjadi bata jika Anda pernah menggunakan sistem file non-FAT dengan mereka (karena mereka menggunakan FAT untuk mengetahui blok mana yang tidak digunakan dan dapat dibuang). Saya belum pernah mendengar hal itu sejak lama, dan saya tidak dapat menemukan apa-apa tentang itu dengan pencarian Google cepat.
CesarB
Sejauh ini saya telah menemukan satu orang yang menyebutkan ketergantungan FAT: linux.derkeiler.com/Mailing-Lists/Debian/2008-08/msg00761.html
CesarB
Maaf mendengar bahwa itu sudah mati ... Heh, aku seharusnya senang bahwa aku tidak berhasil mereproduksi masalahmu:] Meskipun aku sudah mencobanya pada drive 'pakai' lama, masih akan sedih kehilangan itu bahwa cara.
Kirill Strizhak
ya, terutama karena usianya baru sekitar satu minggu! oh well ...
a_m0d
1
Menemukan apa yang saya cari: lkml.org/lkml/2009/3/16/363 ("Beberapa produsen SDD (saya tidak tahu yang mana) sebenarnya memeriksa tabel partisi dan melakukan hal-hal yang berbeda. Saya tahu ini karena mereka secara permanen ditutup jika seseorang menulis tabel partisi yang tidak valid. ")
CesarB
6

Saya baru mengenal hal-hal admin sys Linux ini, jadi ketika saya memiliki masalah yang sama persis, saya menyodok dan mendorong metode saya, tetapi berhasil menghapus iso9660 fs dan mendapatkan kembali thumb drive.

sudo fdisk -l  /dev/sdb1

dikembalikan

Disk /dev/sdb1: 16.0 GB, 16037969920 bytes
64 heads, 32 sectors/track, 15295 cylinders, total 31324160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I>/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x57155aa7

     Device Boot      Start         End      Blocks   Id  System
/dev/sdb1p1            2048    31324159    15661056    5  Extended

Jadi saya kemudian mencoba

sudo fdisk /dev/sdb1

Command (m for help): m
Command action
  . . .

diikuti oleh

Command (m for help): d Extended
Selected partition 1

Command (m for help): v
Remaining 31324159 unallocated 512-byte sectors

Kemudian ketika diminta lagi dipilih untuk fdisk untuk membuat tabel partisi dos kosong (sesuatu yang saya pikir saya bisa menimpa dengan apa pun yang saya inginkan nanti)

Command (m for help): v
Remaining 31324159 unallocated 512-byte sectors

Command (m for help): o
Building a new DOS disklabel with disk identifier 0xea06616f.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Saya mengambil pesan yang dikembalikan berarti bahwa saya setidaknya "mematahkan" iso9660 fs jadi pergi untuk mencoba mkfs

sudo mkfs /dev/sdb1

mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
979200 inodes, 3915520 blocks
.195776 blocks (5.00%) reserved for the super user
First data block=0
.Maximum filesystem blocks=4009754624
120 block groups
32768 blocks per group, 32768 fragments per group
8160 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Semua ini membuat saya dengan direktori "hilang + ditemukan" pada thumb drive.

sudo mount /dev/sdb1 /media/
ls /media/
lost+found

Akhirnya, saya pergi ke situs web Ubuntu ( http://www.ubuntu.com/download/ubuntu/download , bagian 2) dan menggunakan stik untuk membuat gambar yang dapat di-boot dari Ubuntu untuk penggunaan percobaan, dan itu memungkinkan saya. Keindahan gambar Ubuntu yang dibuat pada tongkat dengan cara ini adalah bahwa mereka dapat dihapus dengan mudah dan tongkat itu direklamasi untuk penggunaan lain.

Saya menyebutkan langkah terakhir ini karena di belakang saya bertanya-tanya apakah saya telah melakukan hal itu sejak awal sehingga akan berhasil, saya tidak tahu. Seperti yang disebutkan, saya baru mengenal hal-hal Linux ini dan saya sedang mencoba distro yang berbeda (misalnya Fedora, Ubuntu, dll.) Pada live cd dengan media apa pun yang paling nyaman, dan saya yakin tidak banyak hal yang pecah sepanjang jalan.

David Cantwell
sumber
Saya ingin mencoba langkah-langkah Anda untuk melihat apakah itu akan memperbaikinya, tetapi saya tampaknya tidak memiliki tongkat lagi, jadi sayangnya saya tidak tahu apakah itu akan membantu. Meskipun demikian, ini mungkin masih bermanfaat bagi orang lain dengan masalah yang sama.
a_m0d
5
mkdosfs -I /dev/sdb

akan membuat sistem file vfat di drive. -I harus dilewati jika Anda ingin sistem file dibuat pada seluruh drive dan bukan pada partisi. Jika Anda ingin mempartisi drive terlebih dahulu, gunakan fdisk. Tentu saja fdisk tidak dapat membaca drive sekarang, karena tidak memiliki partisi. Tapi saya yakin itu akan bisa menulis untuk itu.

Kim
sumber
Tidak berfungsi - hanya mencetak nomor versi dan keluar. Juga, fdisk adalah "Tidak dapat menulis / dev / sdb"
a_m0d
Saya baru saja mencoba perintah dan itu menulis ke perangkat yang ditentukan. Itu juga hanya mencetak nomor versi. Anda dapat menguji ini dengan file biasa yang Anda buat dengan dd. Anda dapat melihat perubahan yang dibuat dengan od. Dugaan saya adalah bahwa itu masalah perangkat keras.
Kim
1
ini berhasil bagi saya untuk menghapus gambar Centos bootable ketika solusi di atas semuanya gagal.
Ⴖ uі
2

Melihat dmesgpotongannya, sepertinya ada sesuatu yang secara otomatis memasang drive (periksa dengan mount). Sebelum melakukan sesuatu dengan itu, Anda harus menghitungnya dengan tangan.

Kemudian nol blok dengan tabel partisi ( dd if=/dev/zero of=... bs=512 count=1), dan jalankan alat partisi untuk membuat ulang tabel partisi kosong. Setelah itu, cabut dan pasang kembali (seharusnya tidak diperlukan, tapi ...) dan buat / format partisi yang Anda inginkan. Setelah membuat partisi (mungkin Anda harus mencabut dan memasang kembali), Anda harus memiliki /dev/sdb1atau sesuatu seperti itu, di mana Anda harus membuat sistem file.

Perhatikan bahwa semua langkah harus dilakukan sebagai root (dengan sudoatau yang setara). Berhati-hatilah untuk tidak menuliskan nama perangkat yang salah, atau Anda dapat menghapus harddisk Anda!

CesarB
sumber
1
Saya telah melakukan itu, tetapi meskipun seluruh disk tampaknya diisi dengan nol, entah bagaimana ia masih terpasang dan membaca disk!
a_m0d
1

Saya masih merasa bahwa kami menganggap sesuatu yang ternyata tidak benar. Karena perangkat dapat dibaca, baris ini setidaknya akan membiarkan Anda melihat data sendiri, daripada tergantung pada interpretasi program lain.

dd if = / dev / sdb count = 1 | xxd -g1 -u

Juga, mungkin kita bisa memisahkan masalah dengan dev dev dari masalah dengan apa yang ada di perangkat, dengan memaksanya ke port lain. Baik pasang ke jack USB lain, atau colokkan drive lain terlebih dahulu, untuk menempati sdb.

Gbarry
sumber
hmm ... menggunakan perintah ini memberitahu saya bahwa perangkat diisi dengan nol, yang mungkin karena saya akhirnya berhasil dd if=/dev/zero of=/dev/sdbmenjalankannya. Namun fedora masih memasang perangkat ini sebagai ISO9660 fs saat dicolokkan!
a_m0d
Apakah Linux masih menggunakan / etc / fstab? Di situlah "asosiasi" ini dulu disimpan.
gbarry
Tidak, ini menggunakan (saya pikir) udev, atau apa pun itu yang secara otomatis me-mount drive.
a_m0d
1

Saat ini USB drive Anda tidak memiliki tabel partisi, sistem file iso9660 duduk langsung di seluruh disk (seperti cdrom)

sd 6:0:0:0: [sdb] Assuming drive cache: write through
 sdb: unknown partition table

Saya pikir Anda perlu membuat partisi terlebih dahulu

sudo cfdisk /dev/sdb

(pastikan itu tidak di-mount sebelumnya) di aplikasi fdisk buat partisi baru.

setelah itu selesai, buat filesystem di partisi baru

sudo mkfs -t vfat /dev/sdb1
Joakim Elofsson
sumber
Mencoba ini; cfdisk tidak menghasilkan pesan kesalahan apa pun, tetapi tampilan cepat dmesgmenunjukkan sebenarnya ada pesan kesalahan. (lihat Edit 3 dalam pertanyaan di atas)
a_m0d
1

Saya memiliki masalah yang sama persis seperti Anda. Namun, saya dapat menemukan solusi dari tempat yang mengejutkan. Laptop tua dengan Windows 98SE di atasnya, yang merupakan sistem Windows terakhir yang pernah saya miliki. Pokoknya masukkan saja dan ketika Anda mencoba mengakses drive Windows akan menanyakan apakah Anda ingin memformatnya. Klik ya dan Anda akan memiliki drive yang diformat fat16 yang berfungsi penuh. Saya tidak tahu apakah itu berfungsi dengan versi Windows yang lebih baru. Semoga berhasil.

Anonim
sumber
Sepanjang jalan ke Windows 8 :)
Sebastian Godelet
1

Mungkin dengan sederhana

mkfs -t vfat /dev/sdb1
Vinko Vrsalovic
sumber
Tidak berfungsi - lihat edit ke pertanyaan
a_m0d
1

Tadi malam aku melakukannya

dd if=fedora.iso of=sdx  

Setelah empat jam, saya punya bata iso9660 yang tidak bisa di-boot, tidak bisa diubah. Mengikuti pemikiran David, saya memanggil 'startup disk creator' Ubuntu (Ketik 'startup disk creator' di dasbor), dan hanya memilih 'hapus'. Itu berhasil.

Drive USB kemudian dilaporkan sebagai FAT32 dan semuanya baik-baik saja.

dan
sumber
Terkadang memang tepat menggunakan palu, seperti ini. Saya bertanya-tanya apa yang ada di beberapa sektor pertama drive.
vgoff
0

Hapus drive dan lihat apakah Anda masih bisa membacanya. Saya bertanya-tanya apakah entah bagaimana / dev / usb (atau di mana pun Anda membaca) telah menjadi direktori file biasa.

Gbarry
sumber
Mencoba ini - ketika saya tancapkan kembali, mount baik-baik saja, dan saya bisa membaca semuanya dengan baik. Menurut mount, itu adalah sistem file iso9660. Namun, gparted hanya menunjukkan 2GB ruang yang tidak dialokasikan pada drive. ddmengeluh bahwa / dev / sdb adalah sistem file read-only
a_m0d
0

Sudahkah Anda mencoba memasang kembali dengan opsi -t?

umount / dev / sdb
sudo mount -t vfat / dev / sdb / mnt / point

Jika itu tidak berhasil, saya akan mencoba mereproduksinya nanti, ketika saya pulang. Sepertinya masalah yang menarik. Akan menyenangkan untuk bermain-main dengan:]

Kirill Strizhak
sumber
Hah, nah, tidak berfungsi, karena mountmemeriksa jenis file terlebih dahulu
a_m0d
Yap, sangat dicurigai:] Oke, tidak ada lagi ide 'tiba-tiba'.
Kirill Strizhak
0

Cara terbaik dan tepat untuk melakukannya adalah:

# wipefs --all /dev/sdX

Seperti dari wipefsmanual:

wipefs dapat menghapus tanda tangan filesystem, raid atau partisi-table (string ajaib) dari perangkat yang ditentukan untuk membuat tanda tangan tidak terlihat oleh libblkid.

wipef tidak menghapus sistem file itu sendiri atau data lain dari perangkat. Ketika digunakan tanpa opsi apa pun, wipefs mencantumkan semua sistem file yang terlihat dan offset dari tanda tangan dasarnya.

wipefs memanggil ioctl BLKRRPART ketika telah menghapus tanda tangan tabel partisi untuk menginformasikan kernel tentang perubahan.

Ini memiliki banyak keuntungan seperti memberi tahu kernel tentang perubahan (sehingga Anda tidak mendapatkan kesalahan saat memformat sesudahnya), tidak menghapus data atau sistem file , dan sebagainya.

emi
sumber
-1

U3 memiliki utilitas untuk menghapus partisi U3 mereka. Itu juga menghapus partisi / perangkat yang dibuat oleh utilitas yang menciptakan iso 9660. Ini telah dikonfirmasi hanya pada usb stick u3, tetapi ia dapat diformat sekarang dan benar-benar memulihkan seluruh ruang sebagai flash drive. Anda mungkin mencobanya.

knockNrod
sumber