วิธีคัดลอกอิมเมจ ISO ลงบน USB ด้วย dd


17

ย่อหน้าสุดท้ายของ SliTaz 3.0 Release Notesระบุว่าสิ่งต่อไปนี้เกี่ยวกับ liveCD:

ตอนนี้อิมเมจ ISO ใช้ระบบ 'ไฮบริด': สามารถคัดลอกไปยัง USB Stick ได้โดยไม่ต้องจัดรูปแบบ (โดยใช้ dd)

ไม่มีใครรู้วิธีการทำเช่นนี้?


3
เรียนพระเจ้าจงระวังด้วย DD! มันมีตัวทำลายดิสก์ชื่อเล่นด้วยเหตุผล
Rob

@Rob คุณสามารถรายการdosและdontsโปรด? ฉันเกลียดที่จะทำให้เสียไดรฟ์ของฉันพยายามที่จะทำให้สามารถบูตได้
Gui Imamura

คำตอบ:


25

dd if=/path/to/your/isofile of=/your/usb/disk ลองนี้


ฉันควรรวม~/ไว้ในเส้นทางหรือไม่

2
@ weis26: คุณสามารถ~เป็นเพียงแทนที่ด้วยเส้นทางไดเรกทอรีบ้านของผู้ใช้ปัจจุบัน ใช้มันถ้าอย่างใดอย่างหนึ่งifหรือofเส้นทางที่อยู่ในไดเรกทอรีบ้านของคุณให้แน่ใจว่า ...
แมตต์ช่างไม้

2
@ weis26 ขึ้นอยู่กับว่าคุณต้องการใช้พา ธ สัมพัทธ์หรือพา ธ สัมบูรณ์ โดยวิธีการใช้ddจะทำให้อุปกรณ์ usb ของคุณอ่านอย่างเดียวและเพื่อให้อุปกรณ์ usb 'ปกติ' คุณจะต้องแบ่งพาร์ติชันอุปกรณ์อีกครั้ง
starrify

10
bs=8Mหรือดังนั้นจะเร่งความเร็วนี้ขึ้นเล็กน้อย ... นอกจากนี้ควรพูดถึงการใช้mountเพื่อดูว่าดิสก์ติดตั้งอยู่/media/83...
ที่ไหน

@ starrify - ฉันไม่สามารถเข้าใจสิ่งที่คุณหมายถึงโดยการพูดว่าdd"จะทำให้อุปกรณ์ usb ของคุณอ่านอย่างเดียว" ddไม่ได้เปลี่ยนความสามารถของอุปกรณ์เพียง แต่ผลักข้อมูลจากอินพุตไปยังเอาต์พุต
Florenz Kley

9

หากคุณต้องการดูความคืบหน้าหรือรับ ETA คุณสามารถเพิ่ม Pipe View (pv) ลงในมิกซ์ได้เช่น:

dd if=<path to input file> | pv -s <size e.g. 1377M> | dd of=<path to target device>

สิ่งนี้จะให้ผลลัพธ์เช่น:

850MiB 0:05:18 [6.44MiB / s] [===================>] 61% ETA 0:03:16


หากคุณมีpvแล้วpv /path/to/input/file > /path/to/target/deviceมีอยู่แล้วพอ
Dzamo นอร์ตัน

1
หนึ่งในตัวเลือกใน dd คือ 'status = progress' เพื่อรับสถิติการถ่ายโอนเป็นระยะ
user65913

0

หมายเหตุ: นี่เป็นวิธีการทั่วไปที่เป็นสากลที่ควรใช้กับระบบ * nix เกือบทุกระบบ หากคุณมีปัญหากับคำแนะนำอื่น ๆ ให้ลองทำสิ่งนี้ คุณต้องการรัน dd (ตัวทำลายดิสก์) หรือไม่ ก่อนติดอุปกรณ์บล็อก cat / proc / พาร์ติชัน จากนั้นต่ออุปกรณ์ของคุณและ cat / proc / พาร์ติชั่นอีกครั้ง ความแตกต่างจะระบุอุปกรณ์เป้าหมายของคุณ หากไม่มีความแตกต่างแสดงว่าคุณไม่มีไดรเวอร์ที่ถูกต้องในการรับรู้หรือมีความผิดพลาดของฮาร์ดแวร์

นี่คือสิ่งที่ฉันมีลักษณะเหมือนบนแล็ปท็อปของฉันก่อนและหลังตามลำดับ:

jcholsap@T430s:~$ cat /proc/partitions 

major minor  #blocks  name
8        0  117220824 sda
8        1  117219328 sda1
11       0    1048575 sr0
253      0  109109248 dm-0
253      1    8077312 dm-1

jcholsap@T430s:~$ cat /proc/partitions 

major minor  #blocks  name
8        0  117220824 sda
8        1  117219328 sda1
11       0    1048575 sr0
253      0  109109248 dm-0
253      1    8077312 dm-1
8       16   30670848 sdb

ใช้คอลัมน์ที่สามขนาดเป็นกิโลไบต์เพื่อยืนยันอุปกรณ์บล็อกของคุณ หากคุณเป็นกังวลและคุณควรจะเป็นคุณสามารถตรวจสอบอุปกรณ์ของคุณด้วย dmesg นี่คือแล็ปท็อปของฉัน:

jcholsap@T430s:~$ dmesg | tail -30
[   10.197383] thinkpad_acpi: EC reports that Thermal Table has changed
[   34.599234] random: crng init done
[   35.133277] rfkill: input handler disabled
[ 9737.190954] usb 4-2: new SuperSpeed USB device number 2 using xhci_hcd
[ 9737.211756] usb 4-2: New USB device found, idVendor=0781, idProduct=5580
[ 9737.211762] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 9737.211765] usb 4-2: Product: Extreme
[ 9737.211768] usb 4-2: Manufacturer: SanDisk
[ 9737.211770] usb 4-2: SerialNumber: AA010507161254310422
[ 9737.244492] usb-storage 4-2:1.0: USB Mass Storage device detected
[ 9737.245540] scsi host6: usb-storage 4-2:1.0
[ 9737.245746] usbcore: registered new interface driver usb-storage
[ 9737.247465] usbcore: registered new interface driver uas
[ 9738.259485] scsi 6:0:0:0: Direct-Access     SanDisk  Extreme          0001 PQ: 0 ANSI: 6
[ 9738.260340] sd 6:0:0:0: Attached scsi generic sg2 type 0
[ 9738.260698] sd 6:0:0:0: [sdb] 61341696 512-byte logical blocks: (31.4 GB/29.3 GiB)
[ 9738.260919] sd 6:0:0:0: [sdb] Write Protect is off
[ 9738.260925] sd 6:0:0:0: [sdb] Mode Sense: 53 00 00 08
[ 9738.261142] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 9738.267727] sd 6:0:0:0: [sdb] Attached SCSI removable disk
[ 9738.496445] UDF-fs: warning (device sdb): udf_load_vrs: No anchor found
[ 9738.496450] UDF-fs: Scanning with blocksize 512 failed
[ 9738.505586] UDF-fs: warning (device sdb): udf_load_vrs: No anchor found
[ 9738.505589] UDF-fs: Scanning with blocksize 1024 failed
[ 9738.519311] UDF-fs: warning (device sdb): udf_load_vrs: No anchor found
[ 9738.519324] UDF-fs: Scanning with blocksize 512 failed
[ 9738.528153] UDF-fs: warning (device sdb): udf_load_vrs: No anchor found
[ 9738.528157] UDF-fs: Scanning with blocksize 1024 failed
[ 9738.533493] UDF-fs: INFO Mounting volume 'UDF Volume', timestamp 2011/04/12 09:38 (1000)
[10100.854101] perf: interrupt took too long (2519 > 2500), lowering kernel.perf_event_max_sample_rate to 79250

มีรายละเอียดทั้งหมดของ thumb drive ของฉัน อ่าตอนนี้ฉันมั่นใจแล้วว่าฉันมีอุปกรณ์ที่เหมาะสม!

แต่อุปกรณ์ต่อพ่วงของฉันอาจติดตั้งอัตโนมัติ สำหรับววนั่นเป็นปัญหา ดังนั้นเพื่อความแน่นอนให้ยกเลิกการต่อเชื่อมกับ umount (สังเกตความแตกต่างในการสะกด) ฉันจะเรียกใช้คำสั่งสองครั้งเพราะข้อความแสดงข้อผิดพลาดให้ฉันรู้ว่าทำสำเร็จ:

jcholsap@T430s:~$ sudo umount /dev/sdb
jcholsap@T430s:~$
jcholsap@T430s:~$ sudo umount /dev/sdb
umount: /dev/sdb: not mounted.

ตอนนี้เนื่องจากทุกอย่างใน Linux ถือว่าเป็นไฟล์ dd เรียกอุปกรณ์บล็อกเป้าหมายใน case / dev / sdb ซึ่งเป็นไฟล์เอาต์พุต ดังนั้นคู่ตัวเลือกอาร์กิวเมนต์ที่จะใช้ที่นี่สำหรับไดรฟ์หัวแม่มือของฉันด้วยคำสั่ง dd เป็น = / dev / sdb คุณต้องการทำให้ถูกต้องมิฉะนั้น dd อาจหมายถึงตัวทำลายดิสก์สำหรับคุณ นี่คือแล็ปท็อปของฉัน:

jcholsap@T430s:~$ sudo dd of=/dev/sdb if=/home/jcholsap/centos7.iso bs=4M

ไม่มีเอาต์พุตจากคำสั่ง running dd คุณจะได้รับเคอร์เซอร์กะพริบจนกว่าจะเสร็จสิ้นซึ่งอาจเป็นเวลานาน หากคุณขัดจังหวะกระบวนการคุณจะมีสำเนาภาพบางส่วน - อาจไม่ใช่สิ่งที่คุณต้องการ

ดูเอกสารทั้งหมดได้ที่: http://www.gnu.org/software/coreutils/dd หรือให้บริการในพื้นที่ผ่านทาง: ข้อมูล '(coreutils) dd invocation'

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.