ใช้คำสั่ง dd

คำสั่ง dd (Dataset Definition) เป็นเครื่องมือที่เรียบง่ายมีประโยชน์และใช้งานง่ายอย่างน่าประหลาดใจ ด้วยเครื่องมือนี้คุณสามารถทำเช่นเดียวกันบนอุปกรณ์: ดิสก์และพาร์ติชันเช่นเดียวกับโปรแกรมเชิงพาณิชย์เช่น Norton Ghost บน Windows หรือโปรแกรมฟรีเช่น CloneZilla บน Linux โดยใช้บรรทัดคำสั่งสั้น ๆ

ไวยากรณ์พื้นฐาน:

ไวยากรณ์พื้นฐานที่สุดสำหรับการใช้คำสั่ง dd คือ:

sudo dd if=origen of=destino

ที่ไหน ถ้าหมายถึง "ไฟล์อินพุต = ไฟล์อินพุต“ นั่นคือสิ่งที่คุณต้องการคัดลอกและ ของวิธีการ "ไฟล์เอาต์พุต = ไฟล์เอาต์พุต“ นั่นคือไฟล์ปลายทาง (ซึ่งข้อมูลจะถูกคัดลอก);ต้นกำเนิดและ ปลายทางอาจเป็นอุปกรณ์ (เครื่องอ่านซีดีหรือดีวีดีฮาร์ดดิสก์ฟล็อปปี้ดิสก์เพนไดรฟ์พาร์ติชัน ฯลฯ ) ไฟล์สำรองหรืออิมเมจดิสก์ ฯลฯ แต่ไม่ใช่โฟลเดอร์หรือโฟลเดอร์ย่อย

เพื่อการใช้คำสั่งนี้อย่างราบรื่นสิ่งแรกคือต้องชัดเจนเสมอว่าพาร์ติชัน / ฮาร์ดไดรฟ์ใดที่เรียกว่าใน Linux (/ dev / sda1 เป็นต้น; / dev มาจาก device = device ในภาษาอังกฤษ) หากต้องการทราบดิสก์ / พาร์ติชันต้นทางและปลายทางสิ่งที่เราสามารถค้นหาได้อย่างง่ายดายด้วยคำสั่ง sudo fdisk -lo ด้วยโปรแกรมพาร์ติชันกราฟิกบางอย่างเช่น gparted ข้อมูลทั้งหมดเกี่ยวกับคำสั่ง dd สามารถปรึกษาได้ด้วยคำสั่ง man dd และ info dd,

ควรใช้คำสั่งนี้ด้วยความระมัดระวังและตรวจสอบลำดับและชื่อของดิสก์ / พาร์ติชันเสมอเพราะเมื่อมีการโคลนดิสก์คำสั่งนี้จะลบออกในระยะเวลาอันสั้น

ไวยากรณ์ด้วยคำสั่ง pv: การใช้คำสั่ง dd กับไวยากรณ์ก่อนหน้านี้มีข้อเสียเล็กน้อยเนื่องจากเป็นคำสั่งที่สงวนไว้มาก - จึงไม่ให้ข้อมูล - เนื่องจากเมื่อเรียกใช้พรอมต์เทอร์มินัลจะไม่เคลื่อนที่ดังนั้นเราจึงไม่รู้ว่าอะไร คือสิ่งที่เกิดขึ้นและเหลือเวลาอีกเท่าใดในการดำเนินการให้เสร็จสิ้น ความไม่สะดวกเล็กน้อยนี้สามารถแก้ไขได้โดยการเพิ่มคำสั่ง pv (*) ซึ่งทำหน้าที่เป็นเทอร์มินัลไปป์ที่วัดข้อมูลที่ส่งผ่านไปยังไวยากรณ์ของคำสั่ง dd ดังนั้นตอนนี้ไวยากรณ์จะเป็น:

dd if=origen |pv|dd of=destino

ด้วยเหตุนี้เราจะได้รับแถบความคืบหน้าในเทอร์มินัลข้อมูลเกี่ยวกับไบต์ที่ถ่ายโอนเวลาที่ทำงานและอัตราการถ่ายโอนทั้งหมดแบบเรียลไทม์

(alf) - (~) └──┤ dd if = / devmmcblk0p1 | pv | dd of = / dev / mmcblk0p2 1,630GB 0:21:30 [1,12MB / s] [

นอกจากนี้เมื่อเสร็จสิ้นยังแสดงสถิติของอัตราการถ่ายโอนจำนวนไบต์ทั้งหมดที่ถ่ายโอนและเวลาทั้งหมดที่ใช้ในการถ่ายโอนข้อมูล

(alf) - (~) └──┤ dd if = / devmmcblk0p1 | pv | dd of = / dev / mmcblk0p2 10530816 + 0 บันทึกที่อ่าน <=> 10530816 + 0 บันทึกที่เขียน 5391777792 ไบต์ (5.4 GB) คัดลอก 3873,48 s, 1,4 MB / s 5,02GB 1:04:33 [1,33MB / s] [<=> 10530816 + 0 บันทึกที่อ่าน <=> 10530816 + 0 บันทึกที่เขียน 5391777792 ไบต์ (5.4GB) คัดลอก 3873,48 1,4 วินาที, XNUMX MB / s (อัลฟ) - (~) └──┤

(*) ตรวจสอบก่อนที่จะเรียกใช้บรรทัดคำสั่งใด ๆ ด้วยไวยากรณ์ที่สองนี้ว่าเรามีแพ็คเกจ pv ติดตั้งอยู่ในระบบหรือติดตั้งหากเราไม่มี: ทั้งสองอย่างกับ Synaptic

มาดูตัวอย่างที่ใช้ได้จริงและตัวเลือกของคำสั่งนี้ (ในเวอร์ชันพร้อมคำแนะนำที่อธิบายไว้ก่อนหน้านี้ด้วยคำสั่ง pv):

A) เกี่ยวกับฮาร์ดไดรฟ์และพาร์ติชัน:

= โคลนฮาร์ดไดรฟ์:

ด้วยสิ่งนี้เราจะโคลนดิสก์ hda ใน hdb (ดิสก์ IDE):

sudo dd if=/dev/hda |pv|dd of=/dev/hdb bs=1M

ด้วยสิ่งนี้เราจะโคลนดิสก์ sda ใน sdb (ดิสก์ SATA):

sudo dd if=/dev/sda |pv|dd of=/dev/sdb bs=1M

ด้วยตัวเลือก bs = 1M ทำให้ทั้งการอ่านและการเขียนทำได้ใน 1 เมกะไบต์บล็อก (น้อยกว่าจะช้ากว่า แต่ปลอดภัยมากขึ้นและยิ่งเสี่ยงต่อการสูญเสียข้อมูลระหว่างทาง)

โปรดทราบว่าวิธีนี้จะบันทึกดิสก์ "ตามสภาพ", MBR, ตารางพาร์ติชัน, พื้นที่ว่าง ฯลฯ ... ดังนั้นคุณจึงสามารถบันทึกลงบนดิสก์ที่มีขนาดเท่ากันหรือใหญ่กว่าเท่านั้น

= เขียนเฉพาะพาร์ติชันแรก (hda1) ของดิสก์ต้นทางไปยังดิสก์ปลายทาง (hdb):

sudo dd if=/dev/hda1 |pv|dd of=/dev/hdb bs=1M

= เบิร์นดิสก์ทั้งหมด (hda) ไปยังพาร์ติชันแรก (hdb1) ของดิสก์ปลายทาง:

sudo dd if=/dev/hda |pv|dd of=/dev/hdb1 bs=1M

= สร้างอิมเมจ - สามารถเป็น bin หรือ iso - จากฮาร์ดดิสก์ (hda) ในไดเร็กทอรี / home:

sudo dd if=/dev/hda |pv|dd of=/home/hda.bin

= ลบข้อมูลบนแผ่นดิสก์โดยสิ้นเชิง: ในการดำเนินการนี้ให้เติมอักขระแบบสุ่มลงในดิสก์ห้าครั้ง จะไม่มีร่องรอยของข้อมูลบนดิสก์:

for n in {1..5}; do dd if=/dev/urandom |pv|dd of=/dev/hda bs=8b conv=notrunc;

= ลบพาร์ติชันและดิสก์ทั้งหมดจากอุปกรณ์ใด ๆ :

sudo dd if=/dev/zero |pv|dd of=/dev/sdx (ลบทั้งดิสก์)

sudo dd if=/dev/zero |pv|dd of=/dev/sdxa (ลบพาร์ติชันดิสก์)

โดยที่: x คือดิสก์ที่จะลบ a คือพาร์ติชันที่จะลบ

การดำเนินการนี้มีประโยชน์มากในการลบพาร์ติชันใด ๆ โดยสิ้นเชิงนอกจากนี้ข้อมูลที่จะถูกลบจะไม่สามารถกู้คืนได้ดังนั้นจึงเป็นการลบในระดับต่ำและปลอดภัยมากซึ่งมีประโยชน์มากเช่นเมื่อเพนดริฟติดไวรัสกับเรา หน้าต่างที่รัก

B) บนซีดี / ดีวีดี

= สร้าง / ติดภาพ. iso จากซีดี (หรือดีวีดี)

ในการสร้างอิมเมจ. iso ของซีดีในไดเร็กทอรี / home:

sudo dd if=/dev/cdrom |pv|dd of=/home/imagendeCD.iso

ในการเมานต์อิมเมจ. iso จากซีดี:

sudo mount -o loop imagedeCD.iso /mnt/home

= กู้คืนดีวีดีที่มีรอยขีดข่วน (ไม่สามารถกู้คืนดีวีดีทั้งหมดได้ในกรณีนี้เฉพาะภาคที่อ่านได้) นอกจากนี้ยังเหมาะสำหรับฮาร์ดไดรฟ์ที่มีข้อบกพร่อง:

sudo dd if=/dev/cdrom |pv|dd of=/home/dvd_recuperado.iso conv=noerror,sync

ตัวเลือก noerror ใช้เพื่อหลีกเลี่ยงข้อผิดพลาดในการอ่านในทุกสถานการณ์

C) เกี่ยวกับ MBR และ VBS:

= คัดลอก / กู้คืนมาสเตอร์บูตเรคคอร์ด (MBR):

ในการคัดลอก MBR:

sudo dd if=/dev/hda |pv|dd of=mbr count=1 bs=512

ในการกู้คืน MBR:

sudo dd if=mbr |pv|dd of=/dev/hda

= ทำความสะอาดตาราง MBR และพาร์ติชันของเรา:

sudo dd if=/dev/zero |pv|dd of=/dev/hda bs=512 count=1

= ทำความสะอาด MBR แต่อย่าแตะที่ตารางพาร์ติชัน (มีประโยชน์มากในการลบ GRUB โดยไม่สูญเสียข้อมูลในพาร์ติชั่น):

sudo dd if=/dev/zero |pv|dd of=/dev/hda bs=446 count=1

= คัดลอก / กู้คืน Volume Boot Sector (VBS):

ในการคัดลอก VBS:

sudo dd if=/dev/hda |pv|dd of=/home/sector_arranque_hda count=1 bs=512

ในการกู้คืน VBS:

sudo dd if=/home/sector_arranque_hda |pv|dd of=/dev/hda

D) อื่น ๆ :

= เบิร์นอิมเมจดิสก์ในไดเร็กทอรี / home ของเราข้ามข้อผิดพลาดของดิสก์ (มีประโยชน์มากสำหรับดิสก์ที่กำลังจะตาย):

sudo dd conv=noerror if=/dev/hda |pv|dd of=~/home/imagen_disco_con_errores.iso

= สร้างไฟล์เปล่า 1 Mb:

sudo dd if=/dev/zero |pv|dd of=archivo_nuevo_vacio bs=1024 count=1024

= สร้างไฟล์ swap 2Gb:

sudo dd if=/dev/zero |pv|dd of=/swapspace bs=4k count=2048M
mkswap /swapspace
swapon /swapspace

= แปลงตัวอักษรทั้งหมดเป็นตัวพิมพ์ใหญ่:

sudo dd if=miarchivo |pv|dd of=miarchivo conv=ucase

ใช้คำสั่ง dd กับโปรแกรมสภาพแวดล้อมกราฟิก: Gdiskdump เป็นสภาพแวดล้อมแบบกราฟิกสำหรับคำสั่ง dd นี้ที่อำนวยความสะดวกในการทำงานของ โคลนพาร์ติชันหรือดิสก์อย่างรวดเร็วและง่ายดาย สามารถดาวน์โหลดได้จากหน้า https://launchpad.net/gdiskdump/ เมื่อเราเปิดด้วยสิทธิ์ root - sudo gdiskdump - เราจะเห็นว่าโปรแกรมใช้งานง่ายมากเนื่องจากเราต้องบอกพาร์ติชันหรือดิสก์ให้โคลน (รูปแบบอินพุต) และปลายทาง (รูปแบบเอาต์พุต)


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   ซีก84 dijo

    ฉันเกือบจะเป็นเบาหวานด้วยการใช้คำสั่ง dd ในทางที่ผิด
    อย่างไรก็ตาม dd_rescue ต่างกันอย่างไร

    1.    เคย dijo

      โดยค่าเริ่มต้น ddrescue ไม่หยุดเมื่ออ่านข้อผิดพลาดและพยายามด้วยวิธีการต่างๆเพื่อกู้คืนข้อมูลที่อ่านไม่ได้

    2.    Sheko dijo

      ฮ่าฮ่าฮ่าฉันยังใช้คำสั่ง dd ไม่ดีมันมีพลังมากกว่าที่ฉันคิด

  2.   โรตส์ 87 dijo

    ฉันแสดงความคิดเห็นว่าฉันเชื่อว่าผู้ใช้ arch ทุกคนในบางจุดที่ใช้

  3.   Alf dijo

    @ sieg84 ความแตกต่างคือ dd ถูกขัดจังหวะด้วยข้อผิดพลาดในการอ่านหรืออุปกรณ์บางอย่างในกรณีนี้จะไม่เกิดขึ้นเนื่องจากบล็อกที่เสียหายจะอ่านจำนวนครั้งที่กำหนดและดำเนินการต่อในครั้งต่อไปนอกจากนี้ยังให้ข้อได้เปรียบที่ เราสามารถเรียกใช้งานได้หลายครั้งในภาพเดียวกันและจะไม่เริ่มต้นจากศูนย์ แต่จะพยายามทำให้เสร็จสมบูรณ์

    เป็นมูลค่าการกล่าวขวัญว่า dd_rescue ฉันไม่เคยใช้เลย

    1.    เมอร์ลินเดเบียน dijo

      Alf มี GUI ที่สร้างขึ้นใน qt สำหรับ KDE ที่ใช้คำสั่งนี้หรือไม่? หรือต้องลาออก.?

      1.    กรกฎาคม dijo

        Gdiskdump เป็นมากกว่า GUI สำหรับคำสั่งนี้ (มันขึ้นอยู่กับมัน) และแม้ว่าฉันจะไม่รู้ว่าพวกเขาทำใน qt (ฉันคิดว่าไม่) แต่ก็เกือบจะใช้ได้กับคุณใน KDE

    2.    ซีก84 dijo

      ขอขอบคุณสำหรับการชี้แจง.
      ฉันใช้ dd_rescue เพื่อคัดลอก ISO ไปยัง USB เท่านั้น (ส่วนใหญ่เป็นเพราะในวิกิ openSUSE พวกเขามี)
      dd_rescue tu.iso / dev / sdX
      สิ่งที่ฉันชอบคือมันแสดงแถบความคืบหน้า:
      http://box.jisko.net/i/110db781.png

  4.   เครล dijo

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

    ฉันไม่ต้องการสร้างสถานการณ์ที่กลืนไม่เข้าคายไม่ออกกับสิ่งนี้ แต่เมื่อมองแวบแรกบทความดูเหมือนว่า 95% เหมือนกันยกเว้นภาพหน้าจอเทอร์มินัลที่คุณดัดแปลง เขากล่าวถึงแหล่งที่มาของเขาด้วยซ้ำ

  5.   เมอร์ลินเดเบียน dijo

    น่าสนใจฉันยอมรับว่า | pv | ไม่รู้จักเขา

    Krel ฉันคิดว่าแหล่งที่มาอยู่ใน ubuntu wiki หรือ arch ทักทาย

  6.   Alf dijo

    @krel สิ่งที่ linux คือ:

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

    ฉันสามารถเผยแพร่อีก 5 โพสต์ในสัปดาห์และคุณสามารถพบคนอื่นที่คล้ายกันหรือเหมือนกันเหตุผล Ubuntu มีฟอรัม / บล็อกมากที่สุดในเน็ต

    ฉันไม่คิดว่าจะมีปัญหาและถ้าผู้ดูแลระบบพิจารณาลบมันจะไม่ทำให้ฉันขุ่นเคืองหรือรบกวนฉันเลยฉันปฏิบัติตามกฎและสิ่งที่ตามมาในบันทึกย่อของฉัน 8 ที่ฉันไม่มีตามลำดับ) ฉันต้องการเพิ่มบางอย่าง เพื่อหลีกเลี่ยงความบังเอิญ

    ความนับถือ

    1.    เครล dijo

      ไม่ใช่เรื่องลึกลับสำหรับทุกคนที่เนื้อหาส่วนใหญ่เพียง 10% ที่สร้างบนเว็บเป็นของใหม่ ซึ่งอีก 90 รายการเป็นเนื้อหาที่ทำซ้ำต่ออายุหรือได้รับการช่วยเหลือและฉันไม่ได้บอกว่าสิ่งนี้มีความสำคัญน้อยกว่าในทางตรงกันข้ามมันเป็นรูปแบบหนึ่งของการเผยแพร่ความรู้

      อย่างไรก็ตามที่ฉันหยุดเป็นอย่างอื่น เมื่อคุณมีบล็อกประเภทนี้มีแรงจูงใจส่วนตัวที่จะช่วยเหลือและอาจได้รับการยอมรับในเรื่องนี้ ในขณะเดียวกันฉันมั่นใจว่าผู้ที่เขียนเนื้อหาเกี่ยวกับซอฟต์แวร์เสรีส่วนใหญ่เห็นด้วยกับแนวคิดในการแบ่งปัน อย่างไรก็ตามอย่าลืมว่าแม้แต่ใบอนุญาตที่สูงส่งเช่น BSD ก็ขอการยอมรับ

      นอกจากนี้การอ้างอิงยังเป็นวิธีที่เครื่องมือค้นหาบางอย่างเช่น google ปรับปรุงตำแหน่งของเว็บไซต์ ฉันแค่บอกว่าเนื่องจากวัสดุถูกใช้เพื่อความกตัญญูขั้นต่ำฉันจะอ้างถึงงานนั้น

      ฉันคิดว่ามันเป็นเรื่องดีที่คุณแบ่งปัน แต่คุณสูญเสียอะไรจากการอ้างอิง? แค่คิดว่าถ้าจากบล็อกอื่นที่มีตำแหน่งที่ดีกว่าบล็อกนี้เนื้อหาของบล็อกนี้จะซ้ำกัน desdelinux ท้ายที่สุดแล้วพวกเขาก็จะฝังบล็อกนี้โดยไม่อ้างอิงถึง

      Hatteras เผยแพร่เมื่อ 10 วันก่อนและเว้นแต่เขาจะนำมันออกจากสมุดบันทึกของคุณหรือคุณคือ Luis Puente ฉันไม่สามารถอธิบายสิ่งที่คุณบอกฉันได้เพราะเกือบทุกอย่างเป็นข้อความ ไม่น่าเป็นไปได้ แต่ไม่เป็นไปไม่ได้

      แต่ไม่มีอะไรเกิดขึ้น และฉันไม่รู้ว่าสำหรับจริยธรรมส่วนบุคคลและการร่วมมือกับเพื่อนร่วมงานคนอื่นฉันจะอ้างถึงเขา ขึ้นอยู่กับคุณฉันไม่คิดว่า Hatteras ใช้วิธีนี้ผิด แต่ค่อนข้างตรงกันข้าม

      1.    MSX dijo

        เป็นเรื่องจริงเป็นสำเนาที่แท้จริงของโพสต์นี้: http://hatteras.wordpress.com/2013/01/18/algunos-usos-practicos-del-comando-dd/

  7.   ก่อนหน้านี้ dijo

    อืม ... ฉันสร้าง dd if = file.iso ของ = / media / hard drive …โดยไม่ได้ตั้งใจ😛
    วิธีใดในการกู้คืนไฟล์จากฮาร์ดไดรฟ์ ???

    1.    Elav dijo

      คุณสามารถใช้ Testdisk

    2.    เมอร์ลินเดเบียน dijo

      บางทีเพื่อนอาจส่งต่อให้ฉันด้วย testdisk หรือ live distro ที่เชี่ยวชาญในการช่วยกู้ข้อมูล คำแนะนำของฉันให้ทำการสำรองข้อมูลในครั้งต่อไปเนื่องจากการใช้คำสั่งนั้นเป็นสิ่งที่ละเอียดอ่อนในช่วงมือใหม่ของฉันในการฟอร์แมตฮาร์ดไดรฟ์ทั้งหมดโดยไม่ต้องการและตอนนี้ให้รีสตาร์ทได้ดี……ไม่จำเป็นต้องพูดว่าด้วงไม่เริ่มต้น

  8.   ราอูล dijo

    ใครช่วยบอกฉันได้ไหมว่าจะใช้คำสั่งใดเพื่อดูความคืบหน้าในการคัดลอกด้วยคำสั่ง dd สิ่งที่ฉันหมายถึงคือการดูแถบความคืบหน้าพร้อม% ที่ถูกคัดลอก

    slds

    1.    กรกฎาคม dijo

      เพื่อน! เพิ่มคำสั่ง pv ในโพสต์เดียวกันนี้เขาบอกว่าเกือบจะเป็นจุดเริ่มต้นและอธิบายวิธีการใช้งาน อ่านอีกครั้ง

  9.   เปโดร dijo

    โดยใช้คำสั่งนี้:
    dd if = / dev / sdc | bzip2> /media/Elements/iso.gz
    ฉันจัดการสร้างอิมเมจ iso ของดิสก์ 16Gb แล้วบันทึกลงในดิสก์ 400Gb
    แต่ฉันไม่รู้ว่าคำสั่งจะเรียกคืนรูปภาพนั้นไปยังดิสก์ 16GB ดั้งเดิมหรือไปยังอื่นที่มีความจุเท่ากัน

  10.   Luis Rodriguez dijo

    คำถาม

    ใช้คำสั่งนี้เพื่อ
    สำหรับ n ใน {1..5}; ทำ dd if = / dev / urandom | pv | dd of = / dev / hda bs = 8b conv = notrunc;
    สำหรับดิสก์ 2TB
    จากนั้นฉันก็อยู่ในคอนโซลอะไรทำนองนั้น
    >
    ฉันควรรันคำสั่งอื่นหรือใช้เวลานานแค่ไหน?

    ขอบคุณและก้าวต่อไป

    1.    แจ๊ส dijo

      มีการพิมพ์ผิดใน for …หายไปที่ท้ายบรรทัด«; เสร็จแล้ว»อยู่«สำหรับ n ใน {1..5}; ทำ dd if = / dev / urandom | pv | dd of = / dev / hda bs = 8b conv = notrunc; เสร็จสิ้น»

  11.   Henry Salazar dijo

    บทความดีมาก… .. ผมจะนำไปปฏิบัติ…ทักทายเพื่อน

  12.   Marcos_tux dijo

    มีประโยชน์มากมันช่วยฉันได้มากขอบคุณ

  13.   สพป dijo

    ดี Alf. ขอบคุณสำหรับข้อมูล.

    คำถาม. มีวิธีคัดลอกเฉพาะบางส่วนของดิสก์ต้นทางหรือไม่? ในกรณีนี้คือถ้าฉันมีดิสก์ 120Gb ซึ่งใช้เพียง 25Gb และฉันต้องการทำสำเนาลงในดิสก์ 40Gb ฉันจะสนใจเฉพาะการคัดลอกพื้นที่ที่ใช้แล้ว (25Gb) มีวิธีการกับคำสั่งนี้หรือไม่?
    ขอบคุณล่วงหน้า

    1.    ยูกิเทรุ dijo

      มันจะดีกว่าถ้าคุณใช้ rsync ด้วยคำสั่ง rsync -av / path / to / origin / path / to / destiny คุณจะต้องสำรองสิทธิ์ทั้งหมดของคุณด้วยสิทธิ์ที่เกี่ยวข้อง

    2.    ยูกิเทรุ dijo

      ฉันหมายถึง: "ไฟล์ทั้งหมดของคุณที่มีสิทธิ์ที่เกี่ยวข้อง"

  14.   ฟ็อกซ์สปาย dijo

    เรียนใครรู้บ้างไหมว่าทำไมเมื่อครอบครองคำสั่ง dd มันถึง 4.2GB เท่านั้นและระบุว่าไฟล์มีขนาดใหญ่มาก? เป็นอิมเมจของดิสก์ 250GB และไปยังดิสก์ภายนอก 1TB

    sudo dd if = / dev / sda | pv | dd of = / home / fox / backup.iso

    1.    ผู้ลักพาตัว dijo

      ข้อผิดพลาด 4Gb ส่งให้คุณเนื่องจากคุณพยายามสำรองข้อมูลในพาร์ติชันด้วย fs FAT16

  15.   กรุงเบอร์น dijo

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

  16.   Carlos Torres dijo

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

  17.   เออร์เนส dijo

    ฉันแค่ต้องการคัดลอกพาร์ติชันโดยไม่ต้องเริ่มจาก LIVE CD ตัวอย่างเช่นฉันมีดิสก์ที่มี / dev / sda1, / dev / sda5, / dev / sda6 และฉันต้องการทำสำเนาไปยัง / dev / sda5 จากดิสก์อื่น / dev / sdb1

    คำสั่งคือ dd if = / dev / sdb1 of = / dev / sda5 bs = 1M ????

  18.   เปโดรโลบาโต dijo

    สวัสดีสบายดีไหม ฉันอาศัยอยู่ในกวาดาลาฮาราด้วย
    บทความของคุณเกี่ยวกับคำสั่ง DD น่าสนใจมาก ฉันต้องการลองใช้ลีนุกซ์บางรุ่นโดยเฉพาะ Archlinux แต่ฉันไม่สามารถใช้คำสั่ง DD และคัดลอก Archilinux ISO ที่ฉันดาวน์โหลดไปแล้วลงในแท่ง USB ได้ ฉันไม่รู้ว่าคุณสามารถส่งเห็บให้ฉันเพื่อเริ่มต้นด้วยสิ่งนี้ได้หรือไม่ ขอบคุณ Pedro lobato

  19.   ผู้มีชัย dijo

    เพราะเมื่อ iso ถูกบันทึกด้วยคำสั่ง "dd" มันใช้ได้กับการบูทบนพีซีบางเครื่องเท่านั้น?
    ประสบการณ์ ฉันมีแล็ปท็อป 2 เครื่องและไม่มีเครื่องใดบูท iso ของการกระจาย linux ใด ๆ แต่ในทางกลับกันมันจะบูตบนเดสก์ท็อปพีซีเครื่องเก่าที่มีดิสก์ว่าง

    1.    SEB dijo

      สิ่งที่ดีที่สุดคือการเล่นอย่างปลอดภัยโดยใช้ unetbootin กับ dd ฉันยังคงมีคำถามว่าทำไมบางครั้งถึงไม่ได้

      1.    Elav dijo

        ฉันไม่คิดว่ามันขึ้นอยู่กับ DD แต่ขึ้นอยู่กับ ISO สิ่งเดียวกันนี้เกิดขึ้นกับ Unetbootin ซึ่งไม่ได้ผลกับการแจกแจงทั้งหมด

  20.   ผู้มีชัย dijo

    บางครั้งมันใช้งานได้กับพีซีทุกเครื่อง แต่คุณต้องเพิ่ม mbr และ syslinux ลงใน usb ในกระบวนการ แต่มันยาวนานและน่าเบื่อ
    ส่วนที่ง่ายเกี่ยวกับการยกเลิกการบูต

    ระวัง: มันไม่ใช่ iso หรือ dd สำหรับฉันมันเป็นวิธีที่คุณบันทึกไว้

  21.   แดนนี่ dijo

    ฉันมีข้อสงสัยถ้าฉันใช้คำสั่งนี้:
    sudo dd if = / dev / zero ของ = / dev / diskdrive
    แทนที่จะเป็นเช่นนี้การจัดรูปแบบระดับต่ำจะเหมือนกันหรือใช้เวลานานกว่านี้:
    sudo dd if = / dev / ศูนย์ของ = / dev / diskdrive bs = 1M ..

  22.   arg0s dijo

    สามารถใช้คำสั่ง dd เพื่อลบไฟล์เฉพาะได้หรือไม่?

    ตัวอย่างเช่น

    dd if = / dev / urandom of = / home / myfile delete

  23.   arg0s dijo

    ด้วย bs = 1M มันจะเร็วขึ้น

  24.   อเล็กซ์ dijo

    และถ้าฉันจะทำสำเนาที่ถูกต้องจากดิสก์หนึ่งไปยังอีกดิสก์หนึ่งโดยมีพาร์ติชันทั้งหมด (swap, sda ... ) และดิสก์ทั้งสองเหมือนกัน แต่ดิสก์หนึ่งอยู่บนพีซีและอีกดิสก์หนึ่งบน NAS ผ่านเครือข่าย ????
    ขอบคุณ

  25.   Gerardo dijo

    ความคิดเห็นฉันใช้กับ status = ความคืบหน้าในตอนท้ายและฉันไม่ต้องการ pv ดังนั้นเดเบียนจึงทำงานได้ดีมากสำหรับฉันที่จะเห็นความคืบหน้า
    และอย่างที่สองมีวิธีรับเฉพาะข้อมูลไม่ใช่ทั้งหน่วยเนื่องจากถ้าเป็นดิสก์ 2TB และฉันใช้เพียง 100 GB ฉันต้องการพื้นที่ทั้งหมดนั้น มีวิธีสำรองข้อมูล 100GB หรือไม่? และเมื่อฉันส่งไปยังสื่ออื่นอาจเป็นดิสก์ขนาดเล็กอาจเป็นหนึ่งใน 500?

  26.   อเล็กซานเด dijo

    ช่วยด้วย !!!
    ดำเนินการตามคำสั่ง
    dd if = cbpp-9.0-amd64-20170621.iso ของ = / dev / sdb

    ดีทั้งหมด ... แต่ตอนนี้ฉันต้องการใช้ usb เป็นหน่วยเก็บข้อมูลและ ...

    ไม่ได้ต่อ USB แต่จะไม่ปรากฏใน GParted ด้วยซ้ำ

    มีใครรู้บ้างว่าฉันทำอะไรได้บ้าง

    PS: ซึ่งจะเป็นโปรแกรมที่ดีที่สุดในการกู้คืนข้อมูลจากแผ่นดิสก์และซีดีดีวีดี….

    1.    ไม่ระบุชื่อ dijo

      คุณต้องทดสอบพาร์ติชันใหม่ด้วย fdisk