GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Sinkronisasi Sangat Penting Saat Membuat Stik Usb Linux yang Dapat Di-boot?

Dari Arch Linux Wiki:https://wiki.archlinux.org/index.php/USB_flash_installation_media

# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync

[…] Jangan jangan lewatkan sinkronisasi untuk menyelesaikan sebelum menarik drive USB.

Saya ingin tahu

  • Apa fungsinya?
  • Apa akibatnya jika ditinggalkan?

Catatan

dd perintah yang digunakan dengan status=progress opsional :

tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync

Atau menggunakan pv untuk kemajuan

tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync

Jawaban yang Diterima:

dd tidak melewati cache disk kernel saat menulis ke perangkat, jadi beberapa bagian data mungkin belum ditulis ke USB tetap pada dd penyelesaian. Jika Anda mencabut USB tetap pada saat itu, konten di USB tongkat akan menjadi tidak konsisten. Dengan demikian, sistem Anda bahkan bisa gagal untuk boot dari USB ini tongkat.

Sync mem-flush semua data yang masih tersimpan dalam cache ke perangkat.

Alih-alih menjalankan sync anda dapat menggunakan fdatasync dd opsi konversi:

fdatasync

secara fisik menulis data file keluaran sebelum selesai

Dalam kasus Anda, perintahnya adalah:

tar -xzOf archlinux-2016-09-03-dual.iso | 
dd of=/dev/disk2 bs=4M status=progress conv=fdatasync

conv=fdatasync membuat dd secara efektif memanggil fdatasync() panggilan sistem di akhir transfer tepat sebelum dd keluar (saya memeriksa ini dengan dd sumbernya).

Ini menegaskan bahwa dd tidak akan mem-bypass atau menghapus cache kecuali diinstruksikan secara eksplisit untuk melakukannya.


Linux
  1. Mengapa saya tetap menggunakan xterm

  2. Membuat stik USB bootable PC menggunakan file .iso di MAC

  3. Mengapa USB tidak berfungsi di Linux saat berfungsi di UEFI/BIOS?

  1. Cara memasukkan ISO Linux ke stik USB dan membuatnya dapat di-boot di Mac

  2. Linux – Mengapa Usb Tidak Berfungsi Di Linux Saat Berfungsi Di UEFA/bios?

  3. Linux – Mengapa Perlu Waktu Lama Untuk Mendeteksi Usb Stick?

  1. Cara membuat drive USB yang dapat di-boot untuk Linux

  2. Cara Membuat USB Bootable Linux dari Baris Perintah Linux

  3. Cara membuat stik USB bootable Linux di Windows