คำถามติดแท็ก dd

dd เป็นยูทิลิตี้ดั้งเดิมสำหรับการคัดลอกข้อมูลไบนารี

4
ทำไม dd ใช้เวลานานเกินไป
ฉันต้องการคัดลอกดิสก์หนึ่งแผ่นไปยังอีกแผ่นหนึ่ง ฉันลองใช้คำสั่งด้านล่างและใช้เวลาเกือบหนึ่งวันในการคัดลอกดิสก์ 1 TB ใน federo dd if=/dev/sda of=/dev/sdb ฉันได้ลองแบบเดียวกันในระบบ Unix (HP-UX) ด้วยคำสั่งด้านล่างและมันจะเสร็จสมบูรณ์ภายในไม่กี่ชั่วโมง dd if=/dev/sda of=/dev/rdsk อะไรคือทางเลือกที่ฉันสามารถใช้เพื่อคัดลอกจากดิสก์ไปยังดิสก์ได้เร็วขึ้น?
18 hard-disk  dd 

2
เหตุใด SD การ์ดที่ซ้ำกันเหล่านี้จึงมี sha1sums แตกต่างกันสำหรับเนื้อหา
ฉันมีการ์ด SDHC Class 10 UHS-1 SD จากผู้ผลิตหลายราย มีการแบ่งพาร์ติชันทั้งหมดดังนี้ $ sudo fdisk -l /dev/sdj Disk /dev/sdj: 14.9 GiB, 15931539456 bytes, 31116288 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 Disklabel type: dos Disk …
17 dd  hashsum 

3
สร้างข้อมูลแบบสุ่มด้วย dd และรับ“ คำเตือนการอ่านบางส่วน” ข้อมูลหลังจากการเตือนตอนนี้สุ่มจริงๆหรือไม่?
ฉันจะสร้างไฟล์ 1TB dd if=/dev/urandom of=file bs=1M count=1000000กับข้อมูลแบบสุ่มด้วย ตอนนี้ฉันตรวจสอบkill -SIGUSR1 <PID>ความคืบหน้าและรับสิ่งต่อไปนี้: 691581+0 Datensätze ein 691580+0 Datensätze aus 725174190080 Bytes (725 GB) kopiert, 86256,9 s, 8,4 MB/s 800950+1 Datensätze ein 800950+0 Datensätze aus 839856947200 Bytes (840 GB) kopiert, 99429,5 s, 8,4 MB/s dd: warning: partial read (809620 bytes); suggest iflag=fullblock 803432+1 Datensätze …
16 dd  random 

3
วว: เขียนไปยังหลาย ๆ ดิสก์ได้ไหม
ฉันมีรูปแบบที่เหมือนกัน 2 ขนาดเท่ากันและการ์ด SD ยี่ห้อเดียวกัน ฉันต้องการddรูปภาพไป/dev/disk2และไป/dev/disk3ในเวลาเดียวกัน pseudocode sudo dd bs=1m if=/Users/masi/2016-05-10-raspbian-jessie.img of={/dev/disk2,/dev/disk3} คุณสามารถเปลี่ยนddจากอินพุตหนึ่งไปเป็น SDs หลายเอาต์พุตได้อย่างไร
16 files  dd  output 

3
ตัวเลขทั้งสองหมายถึงอะไรตามลำดับในสถิติ“ a + b records” ของ dd
2 บรรทัดแรกในddสถิติมีรูปแบบต่อไปนี้: a+b records in c+d records out ทำไมต้องเป็นตัวเลข 2 ค่า เครื่องหมายบวกนี้หมายความว่าอย่างไร ปกติa+0แล้วบางครั้งเมื่อฉันใช้ขนาดบล็อกที่ใหญ่กว่า dd ก็พิมพ์ออกมา0+b records out
16 dd 

5
dd ทำการตรวจสอบทุกชนิดหรือไม่?
ฉันใช้ddเพื่อคัดลอกข้อมูลจากฮาร์ดไดรฟ์เก่าไปยังใหม่ ฉันต้องการตรวจสอบให้แน่ใจว่าความสมบูรณ์ของข้อมูลนั้นปลอดภัย ในคำตอบนี้Gilles พูด หาก [dd] ถูกยกเลิกสำเร็จการสำรองข้อมูลจะถูกต้องยกเว้นข้อผิดพลาดของฮาร์ดแวร์ ... นั่นหมายความว่าอะไรกันแน่? ไม่ddมีชนิดของการสร้างขึ้นในการตรวจสอบบางอย่าง? หากฉันจะใช้ rsync แทนฉันจะใช้งานรหัสผ่านที่สองด้วย--checksumเช่นกันเพื่อตรวจสอบ ความหวาดระแวงแบบนั้นเป็นธรรมหรือไม่?

4
วิธีการแพดขนาดไฟล์ที่ต้องการ?
ฉันมีไฟล์ที่ฉันต้องการแพดจนกว่าจะถึง 16 MiB (16777216 ไบต์) ปัจจุบันคือ 16515072 ไบต์ ความแตกต่างคือ 262144 ไบต์ ฉันจะรองมันได้อย่างไร ดูเหมือนว่าจะใช้งานไม่ได้: cp smallfile.img largerfile.img dd if=/dev/zero of=largerfile.img bs=1 count=262144
15 dd 

2
เหตุใดการซิงค์จึงสำคัญเมื่อทำการติด USB แบบ linux
จาก 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 [ ... ] Do ไม่พลาดการซิงค์ให้เสร็จสมบูรณ์ก่อนที่จะดึงไดรฟ์ USB ผมอยากจะรู้ว่า มันทำอะไร? จะเกิดอะไรขึ้นหากปล่อยทิ้งไป? หมายเหตุ ddคำสั่งที่ใช้กับทางเลือกstatus=progress: tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync หรือใช้pvเพื่อความก้าวหน้า tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync

2
วิธีการแตกไฟล์ดิสก์อิมเมจไปยังการ์ด SD ด้วยคำสั่งเดียว?
ฉันอยู่ภายใต้ข้อ จำกัด ดังต่อไปนี้: ฉันมี GB 1.0 ไฟล์ในคอมพิวเตอร์ของฉันที่มีหนึ่งแฟ้มภาพดิสก์.zip raspbianเมื่อไม่มีการบีบอัดไฟล์นี้คือ 3.2 GB 2015-11-21-raspbian-jessie.imgขนาดใหญ่และการตั้งชื่อ หลังจากดาวน์โหลดไฟล์ zip ฉันมีพื้นที่เก็บข้อมูลน้อยกว่า 1.0 GB ในคอมพิวเตอร์ของฉันมีพื้นที่ไม่เพียงพอที่จะดึงรูปภาพไปยังคอมพิวเตอร์ของฉัน นี้ความต้องการไฟล์จะถูกบีบอัดและเขียนไปยังการ์ด SD ddโดยใช้ธรรมดาเก่า เป็นไปได้หรือไม่ที่ฉันจะเขียนภาพไปยังการ์ด SD ภายใต้ข้อ จำกัด เหล่านี้? ฉันรู้ว่ามันเป็นไปได้ที่จะไพพ์ข้อมูลผ่านtarและจากนั้นไพพ์ข้อมูลนั้นที่อื่น แต่จะยังคงใช้งานได้กับzipรูปแบบไฟล์หรือว่าไฟล์เก็บถาวรทั้งหมดต้องไม่ถูกบีบอัดก่อนที่จะสามารถเข้าถึงไฟล์ใด ๆ ได้บ้าง
15 dd  zip 

6
วิธีที่รวดเร็วในการสุ่ม HD?
ฉันได้อ่านเกี่ยวกับวิธีทำให้ฮาร์ดไดรฟ์ปลอดภัยสำหรับการเข้ารหัสและหนึ่งในขั้นตอนคือการเขียนบิตสุ่มไปยังไดรฟ์เพื่อให้ข้อมูลที่เข้ารหัสแยกไม่ออกจากส่วนที่เหลือของข้อมูลบนฮาร์ดไดรฟ์ อย่างไรก็ตามเมื่อฉันพยายามใช้dd if=/dev/urandom of=/dev/sdaในอดีตที่ผ่านมาการทางพิเศษแห่งประเทศไทยกำลังมองหาในลำดับของวัน ฉันเห็นบางอย่างเกี่ยวกับการใช้badblocksแทน urandom แต่ดูเหมือนจะไม่ได้ช่วยอะไรมากมาย ฉันต้องการทราบว่ามีวิธีใดบ้างที่อาจช่วยให้ฉันเร่งความเร็วเช่นตัวเลือกddหรืออย่างอื่นที่ฉันอาจหายไปหรือหากความเร็วนั้นเป็นข้อ จำกัด ของ HD
14 encryption  dd  random 

5
สามารถ 'dd' ใช้ในการโคลนกับ HDD ที่เล็กกว่ารู้ว่าพาร์ติชันจะต้องมีการแก้ไขหรือไม่
ฉันเคยddโคลนดิสก์เช่นนี้ dd if=/dev/sdb of=/dev/sda bs=4096 conv=notrunc,noerror,sync และมันก็ใช้ได้ดีอยู่เสมอ เอกสารใด ๆ และทั้งหมดใน 'dd' มีความเจ็บปวดเพื่อเตือนคุณว่าดิสก์เป้าหมายต้องมีขนาดเดียวกันหรือใหญ่กว่าแหล่งที่มา มันต้องเป็นเรื่องจริงเหรอ? ตอนนี้ฉันค่อนข้างเข้าใจว่าถ้าฉันลอกแบบไปยังดิสก์ขนาดเล็กฉันไม่สามารถคาดหวังได้ว่าพาร์ทิชันใด ๆ ที่มี 'นอกขอบเขต' บางส่วนบนเป้าหมายจะไม่เสียหาย อย่างไรก็ตามรู้ดีว่าฉันต้องแก้ไขพาร์ทิชันของฉันในเป้าหมายในภายหลังการลบ 'นอกขอบเขต' ฉันยังสามารถใช้ 'dd' เพื่อสร้างสำเนากำลังของแหล่งข้อมูลได้ถึงขีด จำกัด ของ ขนาดทางกายภาพของเป้าหมายหรือไม่ หรือจะ 'dd' ลดเป้าหมายเป็นกองสูบบุหรี่ของซากปรักหักพังเมื่อถึงขนาดที่ จำกัด ขนาด ;-) BTW ทำการค้นคว้าสิ่งนี้ฉันได้เห็นคุณค่าที่แนะนำสำหรับbs=ทุกสิ่งตั้งแต่bs=1024ขึ้นไปbs=32Mสิ่งที่ดีที่สุดจริง ๆ ?

3
มีทางเลือกอื่นสำหรับ `dd 'หรือไม่?
ฉันควรใช้เครื่องมืออื่นใดในการอ่านและเขียนไฟล์ที่มีการตัด, การค้นหาและการข้าม ตัวเลือกบรรทัดคำสั่งของ dd ดูไม่สะดวกและแปลกปลอมและฉันไม่ชอบการเลือกระหว่างโหมดการค้นหาที่ช้า แต่แม่นยำ ( bs=1) และรวดเร็ว แต่โหมดยืดหยุ่น ( bs=4kหรืออะไรก็ตาม) มีเครื่องมือที่ทันสมัยกว่าในการอ่าน 555 ไบต์จากไฟล์หนึ่งไฟล์ (หรือไพพ์หรือซ็อกเก็ตหรือ dev) จากตำแหน่ง 31337 และเขียนลงในไฟล์อื่นที่ตำแหน่ง 128205 (โดยใช้บล็อก 512 + 43) โดยมีหรือไม่มีการตัดปลาย
14 files  utilities  dd  binary 

5
ทำไมต้องระบุขนาดบล็อกเมื่อทำการคัดลอกอุปกรณ์ที่มีขนาด จำกัด ?
ในบทเรียนออนไลน์มักแนะนำให้ใช้คำสั่งต่อไปนี้เพื่อคัดลอก CDROM ไปยังอิมเมจ iso: $ dd if=/dev/dvd of=foobar.iso bs=2048 เหตุใดจึงต้องระบุขนาดไบต์ ฉันสังเกตเห็นว่าในความเป็นจริง 2048 เป็นขนาดไบต์มาตรฐานสำหรับภาพ CDROMแต่ดูเหมือนว่าจะddไม่มีการระบุbs=หรือcount=ทำงานเช่นกัน ในกรณีใดบ้างที่เป็นปัญหาที่จะไม่ระบุbs=หรือcount=เมื่อคัดลอกจากอุปกรณ์ที่มีขนาด จำกัด ?
14 linux  hard-disk  dd  cloning 

4
dd: ไฟล์อินพุตหลายไฟล์
ฉันต้องต่อชิ้นไฟล์สองไฟล์เข้าด้วยกัน: ถ้าฉันต้องการเชื่อมไฟล์ทั้งหมดเข้าด้วยกันฉันก็ทำได้ cat file1 file2 > output แต่ฉันต้องข้าม 1MB แรกจากไฟล์แรกและฉันต้องการเพียง 10 MB จากไฟล์ที่สอง ddเสียงเหมือนงานสำหรับ dd if=file1 bs=1M count=99 skip=1 of=temp1 dd if=file2 bs=1M count=10 of=temp2 cat temp1 temp2 > final_output มีความเป็นไปได้ที่จะทำเช่นนี้ในขั้นตอนเดียว? คือไม่จำเป็นต้องบันทึกผลลัพธ์ระดับกลางหรือไม่ ฉันสามารถใช้ไฟล์อินพุตหลายไฟล์ได้ddหรือไม่
14 files  dd  cat  data 

3
วิธีแก้ไขข้อผิดพลาด I / O นี้ในการ์ด SD?
ฉันลองด้วย gparted มันไม่ทำงาน ฉันพบSDFormatterซึ่งเป็นเครื่องมือสำหรับ windows ที่ทำการลบแบบเต็ม ฉันมีการ์ด SD และต้องการติดตั้ง Debian ลงบนมัน กระบวนการ dd ใช้เวลาประมาณ 45 นาทีหลังจากนั้นฉันออกจากมัน ในเครื่อง Windows ของฉันมันแสดงในรายการไดรฟ์ แต่ยังมีข้อผิดพลาดที่ไม่ได้กำหนดขณะลองฟอร์แมตหรือเปิด gparted เพียงแค่บอกฉัน /dev/mmcblk0: unrecognised disk label ฉันออก dd if='deb.iso' of=/dev/mmcblk0 bs=512k dd: error writing „/dev/mmcblk0“: I/O error 0+1 data in 0+0 data out copied 0 Bytes (0 B), 10,098 s, …
14 dd  sd-card 

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