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

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

2
dd จะ = = / dev / ศูนย์ของ = / dev / sda ล้างตารางพาร์ติชันที่มีอยู่แล้วหรือไม่
จะ# dd if=/dev/zero of=/dev/sdaล้างตารางพาร์ติชันที่มีอยู่แล้วหรือไม่ หรือเป็นวิธีอื่น ๆ เช่นทำ # fdisk /dev/sda g (สำหรับ GPT) ล้างเลขศูนย์ที่เขียนโดย/dev/zero?
13 linux  dd  fdisk  gpt 

5
การใช้อิมเมจไดรฟ์ของไดรฟ์ทำงานปัจจุบันปลอดภัยหรือไม่
ฉันต้องสำรองข้อมูลฮาร์ดดิสก์ของฉัน ฉันต้องการที่จะใช้ddและวางภาพบน HDD ภายนอก ฉันสามารถใช้สิ่งนี้ddจากระบบปฏิบัติการที่อยู่ใน hdd เองหรือฉันต้องบูตจากอุปกรณ์อื่นเช่น LiveCD หรือไม่? โดยทั่วไปแล้วการถ่ายภาพของอุปกรณ์จะปลอดภัยหรือไม่หากติดตั้งอุปกรณ์และใช้งานได้ จะทำอย่างไรถ้าอุปกรณ์ถูกเมานต์ แต่ฉันแน่ใจว่าไม่มีการดำเนินการ I / O อื่นขณะที่ddกำลังทำงานอยู่ ฉันแน่ใจว่าrsyncเป็นเครื่องมือที่ดีที่สุดที่จะใช้สำหรับการสำรองข้อมูลโดยเฉพาะอย่างยิ่งที่เพิ่มขึ้น แต่ฉันสนใจddเพราะฉันต้องการสำรองข้อมูลด้วยอุปกรณ์เก็บข้อมูลอื่นและคัดลอกข้อมูลที่เก็บไว้ในพื้นที่ว่าง ตัวอย่างเช่นเครื่องอ่าน e-book ของฉันใช้พื้นที่ที่ไม่แบ่งพาร์ติชันเพื่อเก็บ uboot เคอร์เนลและข้อมูลอื่น ๆ
12 backup  dd  disk-image 

3
บันทึกข้อมูลจากไดรฟ์ที่ล้มเหลว
ภายนอก3½" HDD ดูเหมือนว่าจะตกอยู่ในอันตรายของความล้มเหลว - มันทำให้เสียงฟ้องเมื่อไม่ได้ใช้งาน ฉันได้รับไดรฟ์สำรองแล้วและต้องการทราบกลยุทธ์ที่ดีที่สุดในการดึงข้อมูลออกจากไดรฟ์ที่น่าสงสัยพร้อมโอกาสที่ดีที่สุดในการประหยัดได้มากที่สุด มีบางไดเรกทอรีที่มีความสำคัญมากกว่าไดเรกทอรีอื่น ๆ อย่างไรก็ตามฉันเดาว่าการเลือกและเลือกไดเรกทอรีจะช่วยลดโอกาสในการบันทึกข้อมูลทั้งหมด ฉันจะต้องติดตั้งทิ้งรายการไฟล์แล้วยกเลิกการต่อเชื่อมเพื่อให้สามารถจัดลำดับความสำคัญไดเรกทอรีได้อย่างมีประสิทธิภาพ การเพิ่มความจริงที่ว่ามันใช้เวลานานในการทำสิ่งนี้ฉันจึงไม่ต้องเข้าใกล้แนวทางนี้ ฉันได้พิจารณาแล้วว่าใช้ddแต่ฉันไม่แน่ใจว่ามันจะจัดการกับข้อผิดพลาดในการอ่านหรือปัญหาอื่น ๆ ที่อาจป้องกันเฉพาะบางส่วนของข้อมูลจากการช่วยเหลือหรือที่สามารถเอาชนะได้ด้วยความพยายามบางอย่าง แต่ไม่มากที่พวกเขา ทำอันตรายส่วนอื่น ๆ ของไดรฟ์จากการบันทึก ฉันเดาว่ามันน่าจะเป็นการผ่านครั้งเดียวเพื่อให้ได้มากที่สุดจากนั้นกลับไปลองทำสิ่งที่พลาดไปเนื่องจากข้อผิดพลาด เป็นไปได้ไหมที่การทำสำเนาช้ากว่า - เช่นหยุดทุก ๆ x MB / GB - จะดีกว่าแค่ใช้การเอียงเต็มรูปแบบเช่นเพื่อหลีกเลี่ยงปัญหาความร้อนสูงเกินไป? สำหรับกลุ่ม "ที่มีการสำรองข้อมูลของคุณ": นี่คือไดรฟ์สำรองของฉัน แต่ก็มีบางสิ่งที่ไม่สำคัญและมีขนาดใหญ่เช่นเพลงที่ไม่ได้สำรองข้อมูลเช่นไม่ได้สำรองข้อมูล ไดรฟ์ไม่ได้แสดงอาการที่ชัดเจนของความล้มเหลวอื่น ๆ นอกเหนือจากเสียงที่ค่อนข้างเป็นลางสังหรณ์นี้ ฉันต้อง fsck ข้อผิดพลาดบางอย่างเมื่อเร็ว ๆ นี้ - inodes กำพร้าจำนวนบล็อกฟรี / inodes ไม่ถูกต้องนับความแตกต่างบิตแมป inode ศูนย์ dtime …

1
คำสั่ง pkill -USR1 -n -x dd หมายความว่าอย่างไร
ฉันใช้ddเพื่อถ่ายโอนข้อมูลภาพดิสก์ไปยังการ์ด sd บน BeagleBone ของฉัน การใช้pkill -USR1 -n -x ddการเชื่อมต่อ ssh กับ BeagleBone นี้ทำให้ฉันได้รับการอัพเดตสถานะของกระบวนการถ่ายโอนซึ่งยอดเยี่ยมมาก ฉันแค่อยากรู้ว่ามันใช้งานได้จริงอย่างไรเพื่อที่ฉันจะสามารถใช้มันได้อย่างมีประสิทธิภาพในอนาคต หลังจากอ่านman pkillแล้วมันยังไม่ได้อธิบายอย่างสมบูรณ์ถึงวิธีการpkill -USR1 -n -x ddทำงานเพื่อให้การอัปเดตสถานะนี้มีประโยชน์มากกับฉัน
12 kill  dd  signals 

6
การเปรียบเทียบอุปกรณ์บล็อกดิบ
มียูทิลิตี้ (หรือเวทย์มนตร์เชลล์) ที่ทำให้ฉันสามารถเปรียบเทียบอุปกรณ์บล็อกสองอันได้หรือไม่? รายละเอียด: ฉันมีอุปกรณ์ RAID ขนาดใหญ่ (0.5 TB) ที่ฉันสำรองข้อมูลไปยังอุปกรณ์ SATA ที่ใหญ่กว่าเล็กน้อยโดยใช้ dd อุปกรณ์มีหลายพาร์ติชัน แต่ฉันคัดลอกจากอุปกรณ์ 'parent' ไม่ใช่โหนดอุปกรณ์ที่แบ่งพาร์ติชัน (เช่นฉันคัดลอก / dev / hda และไม่ใช่ / dev / hda1 เป็นต้น) ฉันต้องการตรวจสอบว่าการสำรองข้อมูลดี / ถูกต้อง ฉันคิดเกี่ยวกับการใช้ md5sum ในแต่ละอุปกรณ์ แต่นั่นจะไม่ให้ผลลัพธ์ที่ถูกต้องกับฉันเนื่องจากอุปกรณ์ที่สองมีขนาดใหญ่กว่าครั้งแรกเล็กน้อยดังนั้นไบต์พิเศษจะเปลี่ยนแฮช

6
ทำไมฉันไม่สามารถคัดลอก DVD ของฉันด้วยวว
ฉันพยายาม dd, dd_rescueและddrescueทั้งหมดล้มเหลว ฉันคิดว่าเครื่องมือเหล่านี้ข้ามระบบไฟล์และทำสำเนาแบบบิต dd ถูกหลอกมันจะเสร็จสิ้น แต่เพียงสร้างไฟล์ขนาดเล็กและระบุว่ามันเสร็จสิ้นแล้ว dd_rescuse และ ddrescue บ่นเกี่ยวกับข้อผิดพลาดในการอ่านและช้ามากเหลือเกิน เครื่องมือเหล่านี้สามารถคัดลอกเพียงไม่กี่ MB ใน 10 นาที ทำไมสิ่งนี้เกิดขึ้นทำไมเครื่องมือเหล่านี้ถึงล้มเหลว AnyDVDทำให้ copyable แผ่นดิสก์ในครั้งที่สองในพื้นที่ Win7 มันบอกว่าระบบไฟล์ UDF นั้นได้รับการแพตช์ด้วยความอยากรู้อยากเห็นมันบอกว่าไม่มีเซกเตอร์เสีย แผ่นดิสก์ทั้งหมดสามารถคัดลอกได้ภายใน 10 นาที UPDATE:ในฐานะที่เป็นสำหรับการแก้ปัญหาให้ดูของฉันคำถามที่คล้ายกันใน superuser

4
ทำไมการเขียนข้อมูลแบบสุ่มโดยใช้ dd ส่งผลให้เกิดพาร์ติชั่นดิสก์?
ก่อนที่จะรันddคำสั่งคำสั่งจะlsblkส่งคืนผลลัพธ์ด้านล่าง: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk คำสั่งdd if=/dev/urandom of=/dev/sda conv=fsync status=progressถูกเรียกใช้ อุปกรณ์สูญเสียพลังงานและปิดเครื่อง เมื่อไฟฟ้าถูกเรียกคืนคำสั่งlsblkจะส่งคืนเอาต์พุตต่อไปนี้: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk sda2 8:2 0 487.5G 0 disk
11 partition  dd  lsblk 

2
bash ไม่สามารถเก็บ hexvalue 0x00 ในตัวแปรได้
ฉันพยายามจะเล่นกลกับ dd ฉันคิดว่ามันจะเป็นไปได้ที่จะเก็บ hexvalues ​​บางอย่างในตัวแปรที่เรียกว่า "header" เพื่อไพพ์ลงใน dd ขั้นตอนแรกของฉันที่ไม่มีตัวแปรคือ: $ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex $ hd hex 00000000 36 c9 da 00 b4 |6....| 00000005 หลังจากนั้นฉันลองทำสิ่งนี้: $ header=$(echo -ne "\x36\xc9\xda\x00\xb4") $ echo -n $header | hd 00000000 36 c9 da b4 |6...| 00000004 อย่างที่คุณเห็นฉันสูญเสีย\x00คุณค่าใน$headerตัวแปร ใครบ้างมีคำอธิบายสำหรับพฤติกรรมนี้หรือไม่? นี่ทำให้ฉันบ้า
11 linux  bash  shell-script  dd 

4
การย้าย / การบูตและ MBR ไปยังไดรฟ์ใหม่
ฉันมีเซิร์ฟเวอร์ CentOS 6 ที่มีฮาร์ดไดรฟ์สองตัวอยู่ในนั้น ไดรฟ์ 3TB ตัวเก่าของฉันมอบปัญหาให้ฉันดังนั้นฉันจึงนำสิ่งต่าง ๆ ไปสู่ไดรฟ์ใหม่ เนื่องจากLVM ของฉัน/และ/homeพาร์ติชันได้รับการจัดการโดย LVM จึงง่ายต่อการย้ายข้อมูลไปยังไดรฟ์ใหม่ ตอนนี้ฉันต้องการย้าย/bootพาร์ติชันของฉันและ MBR ที่ทำให้ทุกอย่างเริ่มต้นขึ้น ฉันโหลดซีดีสดและพาร์ติชันrsyncedของฉัน/bootไปยังพาร์ติชันขนาดเดียวกันในไดรฟ์ใหม่ ฉันพยายามคัดลอก MBR ของฉันด้วยคำสั่งต่อไปนี้: dd if=/dev/sda of=mbrbackup bs=512 count=1 dd if=mbrbackup of=/dev/sdb bs=446 count=1 หลังจากทำสิ่งนี้ฉันเริ่มระบบใหม่บอก BIOS ของฉันไม่ให้ดูฮาร์ดไดรฟ์เก่าในระหว่างรอบการบู๊ตและดูเฉพาะไดรฟ์ใหม่ แต่สิ่งที่ฉันจบลงคือเคอร์เซอร์กะพริบ ฉันพลาดขั้นตอนที่นี่ไหม? หรือมีอย่างอื่นที่ฉันต้องทำเพื่อให้ทุกอย่างเริ่มระบบเพื่อให้ฉันสามารถลบไดรฟ์เก่าของฉันได้อย่างสมบูรณ์? แก้ไข: ฉันเริ่มคิด rsync ไม่ใช่วิธีคัดลอก / boot พาร์ทิชันจากไดรฟ์หนึ่งไปยังอีก จากคำแนะนำนี้ฉันลองใช้คำสั่ง dump แทน ในคำสั่งนี้ฉันได้คัดลอกพาร์ติชั่นบูตเก่าที่ไม่ได้ต่อเชื่อมไปยังพาร์ติชั่นบูตใหม่ที่ว่างเปล่าของฉัน dump -0f - …
11 boot  dd  mbr  dump 

3
วิธีการตรวจสอบความสมบูรณ์ของการสำรองข้อมูลวัน?
ฉันเพิ่งสำรองข้อมูลฮาร์ดไดรฟ์ทั้งหมด (50GB) ไปsshทาง: dd if=/dev/hda | buffer -s 64k -S 10m | ssh myuser@myhost "cat > ~/image.img" ตอนนี้วิธีที่ดีที่สุดในการตรวจสอบความสมบูรณ์ของไฟล์image.imgคือวิธีการตรวจสอบว่าทุกอย่างถูกคัดลอกอย่างถูกต้องหรือไม่
11 backup  dd  integrity 

2
ผ่าน dd skip | หา offset เป็นเลขฐานสิบหก
# dd if=2013-Aug-uptime.csv bs=1 count=1 skip=3 2> /dev/null d # dd if=2013-Aug-uptime.csv bs=1 count=1 skip=0x3 2> /dev/null f ทำไมคำสั่งที่สองให้ผลลัพธ์ที่แตกต่างกัน? เป็นไปได้ไหมที่จะผ่านการข้าม | แสวงหาการชดเชยให้ddเป็นค่าเลขฐานสิบหก?
11 dd 

2
คำสั่ง dd ตัวเลือก bs ที่ส่วนท้ายของดิสก์
ถ้าฉันจะใช้ddคำสั่งดังต่อไปนี้: dd if=/dev/zero of=/dev/sdX bs=16M จะเกิดอะไรขึ้นที่ส่วนท้ายของดิสก์ถ้าไม่ใช่จำนวน 16M ที่แน่นอน นั่นหมายความว่าส่วนที่เหลือสุดท้ายของดิสก์ไม่เป็นศูนย์หรือไม่? ฉันสังเกตเห็นในhttps://www.marksanborn.net/howto/wiping-a-hard-drive-with-dd/เขาเขียนว่ารัฐบาลสหรัฐฯใช้ dd if=/dev/urandom of=/dev/sda bs=8b conv=notrunc เป็นconv=notruncตัวเลือกวิธีการเพื่อให้แน่ใจว่าทุกไบต์สุดท้ายเช็ด?
10 dd 

4
กลับมาทำงาน DD ของดิสก์ทั้งหมด
ฉันเขียนทับฮาร์ดไดรฟ์ของฉันด้วยข้อมูลแบบสุ่มโดยใช้เครื่องมือตัวเก่าdd: dd if=/dev/urandom of=/dev/disk/by-uuid/etc bs=512 มันเป็นอาร์เรย์ขนาด 2TB และ MacBook ของฉัน (ใช้ Linux ได้ไหม?) สามารถเขียนข้อมูลได้ที่ประมาณ 3.7MB / s เท่านั้นซึ่งเป็นเรื่องที่น่าสมเพชเพราะฉันเห็นเดสก์ท็อปของฉันอยู่ที่ 20MB / s เมื่อฉันกลับบ้านคืนนี้ฉันต้องการหยุดการddวิ่งที่นี่พากลับบ้านและดูความคืบหน้าของเครื่องจักรที่ทรงพลังมากขึ้นในชั่วข้ามคืน ฉันได้รับการตรวจสอบความคืบหน้าโดยใช้ลูปง่าย ๆ : while true; do kill -USR1 $PID ; sleep 10 ; done ผลลัพธ์มีลักษณะดังนี้: 464938971+7 records in 464938971+7 records out 238048755782 bytes (238 GB) copied, 64559.6 s, …
10 dd 

3
`dd 'จะถูกนำมาใช้เพื่อบล็อกขวาเปลี่ยนข้อมูลได้อย่างไร?
พิจารณาอุปกรณ์บล็อกดิบ 100MB เป็นตัวอย่างง่ายๆ นั่นคือ 204800 บล็อก 512 ไบต์แต่ละรายการรวมเป็น 102760448 ไบต์ ความท้าทายคือการเปลี่ยน 98MB แรก (200704 บล็อก) ดังนั้นจึงมีช่องว่าง 2MB (4096 บล็อก) ที่ด้านหน้า เมื่อต้องการทำสิ่งนี้ในสถานที่นั้นจะต้องไม่มีสิ่งใดถูกเขียนไปยังเซกเตอร์ที่ยังไม่ได้อ่าน วิธีหนึ่งในการบรรลุเป้าหมายนี้คือการแนะนำบัฟเฟอร์: $ dd if=/dev/sdj2 count=200704 | mbuffer -s 512 -b 4096 -P 100 | dd of=/dev/sdj2 seek=4096 ความคาดหวังคือmbufferจะเก็บบล็อก 4096 ก่อนส่งผ่านสิ่งใดไปยังผู้เขียนดังนั้นให้แน่ใจว่าไม่มีสิ่งใดถูกเขียนไปยังพื้นที่ที่ไม่ได้ถูกอ่านและผู้เขียนล่าช้าผู้อ่านตามขนาดของบัฟเฟอร์ บัฟเฟอร์ควรอนุญาตให้ตัวอ่านและตัวเขียนทำงานเร็วที่สุดเท่าที่จะเป็นไปได้ภายในกลุ่มค่าเหล่านั้น อย่างไรก็ตามดูเหมือนว่าจะไม่สามารถทำงานได้อย่างน่าเชื่อถือ ฉันได้ลองใช้อุปกรณ์จริง แต่มันก็ไม่สามารถใช้งานได้ในขณะที่การทดสอบกับไฟล์ทำงานบนกล่อง 64- บิตของฉัน แต่ไม่ได้อยู่ในกล่อง 32- บิตของฉัน …
10 dd  block-device 

3
gzip - การเปลี่ยนเส้นทางหรือท่อ?
ฉันจะสำรองดิสก์ขนาดใหญ่ (750GB) ไปยังดิสก์ USB ภายนอกโดยใช้ dd ฉันควรจะใช้การเปลี่ยนเส้นทางหรือท่อ? อันไหนมีประสิทธิภาพมากกว่ากัน? หรือมีความแตกต่าง? นอกจากนี้ขนาดบล็อกที่ดีที่สุดคืออะไร? USB น่าจะเป็นคอขวดที่นี่ dd if=/dev/sda bs=1M | gzip -c > /mnt/sdb1/backups/disk.img.gz gzip -dc /mnt/sdb1/backups/disk.img.gz | dd of=/dev/sda bs=1M VS dd if=/dev/sda bs=1M | gzip -c | dd of=/mnt/sdb1/backups/disk.img.gz dd if=/mnt/sdb1/backups/disk.img.gz | gzip -dc | dd of=/dev/sda bs=1M ขอบคุณ
10 linux  gzip  pipe  dd 

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