cửa sổ tương đương với dd


40

Tôi cần đọc và viết nhiều hình ảnh thẻ flash. Cách tôi luôn làm điều này trong linux là với dd, và điều đó đã tạo ra mánh khóe. Một cửa sổ tốt tương đương là gì?

Nói một cách đơn giản, tôi cần có khả năng đọc toàn bộ thẻ vào một tập tin và ngược lại. Tôi đã thử WinDD , nhưng nó dường như hoạt động trên các phân vùng chứ không phải toàn bộ thiết bị, nhưng tôi cần có khả năng kết xuất toàn bộ đĩa / thẻ và bảng phân vùng của nó bất kể nội dung của nó.

Sử dụng Windows 7 64 bit, với đầu đọc thẻ trên cổng USB3.

Câu trả lời:


20

Hãy thử Win32DiskImager , nó có thể ghi hình ảnh vào đĩa.


5
Nó được lưu trữ trên SourceForge, nơi có lịch sử bao gồm phần mềm độc hại trong các bản phân phối, trái với mong muốn của chủ dự án. Nguồn: notepad-plus-plus.org/news/notepad-plus-plus-leaves-sf.html
Scott Stevens

3
@AnthonyLozano Tôi đã tải xuống win32diskimager từ sourceforge, nó không có phần mềm độc hại nào và nó được sử dụng rộng rãi và thậm chí được đề xuất cho những thứ như Raspberry Pi để ghi ảnh đĩa. Có một ngã ba trên github nhưng bạn phải biên dịch nó cho mình github.com/bizplay/win32-disk-imager
Logern

2
Tôi đã bắt đầu sử dụng Chocolatey cho tất cả các tiện ích của mình. Hãy suy nghĩ apt-get cho Windows bằng cách sử dụng khung của NuGet. Có một gói win32diskimager trên đó cài đặt không có vấn đề. Một di động, là tốt. chocolatey.org
Mike Loux

4
Điều này không hoạt động đối với các thiết bị không có chữ cái phân vùng được gán cho chúng, do đó, nó vô dụng đối với các thiết bị có phân vùng không được nhận dạng hoặc hoàn toàn không có phân vùng. Không tương đương với dd.
Xerz

1
Nó không tạo ra một tệp hình ảnh tương thích dd, trong thực tế, nó cố gắng hiểu cách bố trí đĩa và tạo ra một tệp zip với mỗi phân vùng mà nó nhận ra trong một tệp riêng biệt. Và trong trường hợp của tôi, nó đã gặp sự cố khi khôi phục các tệp trở lại phân vùng một lần nữa
user230910

20

Chỉ cần sử dụng dd cho WUsows ... nó hoạt động hoàn hảo mặc dù nó là một dự án khá cũ.


Có vẻ như có một vấn đề dưới windows 10. Bất cứ ai có vấn đề với .6 beta 3?
TravisWhidden

@TravisWhidden loại vấn đề gì? Tôi đã gặp một số lỗi "không thể viết", nhưng không chắc đó có phải là vấn đề tương tự không.
Scott Stevens

Nó không hoạt động với tôi trên máy Win7 của tôi
Aaron

Điều này dường như làm việc, nhưng có vẻ như slooooow ...
user230910

Cảm ơn bạn, đã làm việc tuyệt vời cho tôi.
Jesse Busman

14

Rufus hoạt động như mong đợi. Chọn 'DD Image' cho 'Tạo đĩa khởi động bằng cách sử dụng'.

Nguồn được công bố trên GitHub: https://github.com/pbatard/rufus .

Kinh nghiệm của tôi: Win32DiskImager không phát hiện u-SD thông qua đầu đọc USB-3; dd cho Windows, MinGW đã biên dịch dd, Unix Utils dd và Linux dd VIA VirtualBox VM USB3 truyền qua đều chậm không thể chấp nhận được; Tôi vẫn chưa tìm thấy một dòng lệnh Windows tương đương có thể đánh bại tốc độ ghi 50MB / s mà tôi thấy với Rufus.


Phiếu bầu của tôi cho Rufus là tốt. Không có câu trả lời nào được đề xuất cho tôi trên Windows 10 Pro v1703. Được rồi ... hãy trung thực ... Tôi đã không thử giải pháp Python.
Doug Wilson

3
Nó thực sự tốt cho việc tải trước hình ảnh trên các thanh USB, nhưng nó không làm được một nửa những gì dd có thể làm, vì vậy nó không thực sự "tương đương"
Rolf

3
Điều này không hợp lệ vì nó chỉ cho phép ghi hình ảnh trên đĩa, không đọc các đĩa đó.
Xerz

2
Rufus đã tạo ra một đĩa với tổng kiểm tra khác nhau từ hình ảnh, đối với tôi.
fuzzyTew

1
Thật hiếm khi thấy một ứng dụng hữu ích ngày nay chỉ có kích thước 1mb. Thật là một công cụ tuyệt vời!
Gareth Davidson

9

ngạc nhiên không ai đề cập đến các tiện ích cốt lõi GNU cho Windows , tôi đã sử dụng chúng trong nhiều năm. chúng là các tệp nhị phân 32 bit nhưng rõ ràng, ngoại trừ less, chúng vẫn hoạt động trong Windows 7 64 bit .

sử dụng ví dụ:

C:\Windows\Temp>dd if="\\.\s:" of=sdrive.dat bs=4096
25599+0 records in
25599+0 records out
104853504 bytes (105 MB) copied, 30.3147 seconds, -56145186608800624000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000 MB/s

C:\Windows\Temp>dd if="\\.\physicaldrive0" of=mbr.dat bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0210012 seconds, -891479495977528 kB/s

thời gian báo cáo là một chút kỳ lạ nhưng nếu không nó có vẻ hoạt động tốt.


1
Nó sao chép chính xác nội dung trên 4 gibibytes? Thời gian qua tôi đã kiểm tra (từ lâu) nó được biên dịch chống lại thời gian chạy của Microsoft mà off_tlà một long, do đó hiệu số được giới hạn đến 31 hoặc 32 bit ... mà là một sự lừa dối lớn khi sử dụng dd.
AntoineL

Tôi chưa bao giờ thử, xin lỗi.
jcomeau_ictx

Git cho Windows xuất hiện (tại thời điểm viết bài) với phiên bản dd 8.30, được biên soạn vào năm 2018. Nó dường như hoạt động tốt với các /dev/sdXtên, ít nhất là từ Git Bash đang chạy với tư cách Quản trị viên. Nó có thể mất bất kỳ giới hạn 32-bit nào trước đây.
mwfearnley

8

Đầu tiên tôi cũng đã thử Win32DiskImager, tôi nghĩ rằng chỉ thực hiện sao chép phân vùng dựa trên màn hình của nó (không, nó có thể sao lưu toàn bộ thẻ SD), vì vậy tôi tiếp tục tìm kiếm.

Yêu thích hiện tại của tôi là HDDRawCopy . Nó sao chép vào / từ tập tin toàn bộ hình ảnh đĩa, nhưng không phân vùng riêng. Nó tạo ra các hình ảnh tương thích hoặc nén dd một cách nhanh chóng - không hiệu quả bằng 7zip (thậm chí không đạt được hiệu suất ZIP) nhưng bạn không cần phải chạm lại vào hình ảnh.


2
HDD Raw Copy đã có thể phát hiện ổ đĩa SCSI trống mà "dd cho windows" không thể. Nó cho phép tôi sao chép một đĩa HFS từ Windows! Cảm ơn!
HackSlash

2
Lưu ý rằng vì một số lý do, HDD RAW COPY có giới hạn 50MB / s
Gizmo

8

Tôi chỉ cố gắng xác minh một ổ đĩa đã bị xóa, vì vậy tất cả những gì tôi quan tâm là đọc, nhưng tập lệnh python này có thể được sửa đổi để làm bất cứ điều gì như thế này nếu bạn không tin những người thực thi như tôi không làm. Mở Trình quản lý phân vùng Windows để biết số ổ đĩa bạn quan tâm là gì và chỉ cần thay đổi 2 thành số đó. Sau đó, bạn có thể viết nó ra, hoặc nếu bạn đã làm wb thay vì rb bạn có thể viết. Chúc may mắn

import sys

f = open('\\\\.\\PhysicalDrive2','rb')
a = f.read(1)
i = 1

kb = 1024
mb = kb*1024

while a == b'\x00':
    i+=1
    if i % mb == 0:
        sys.stdout.write('\r{} MB scanned'.format(i/mb))
    a = f.read(1)

print('done')

3
Chỉ để ghi lại, tôi nghĩ rằng sẽ nhanh hơn nhiều lần để thực hiện nhiều hơn một byte mỗi lần. Và không có điều kiện lỗi, tập lệnh dựa vào các byte không null xuất hiện sớm và bạn nhận thấy rằng nó được in "xong" từ sớm.
Lục

2
Làm thế nào để bạn biết những gì ổ đĩa để nhắm mục tiêu?
HackSlash

Python là công cụ sai một vòng lặp chặt chẽ như thế. Tốt hơn hết là bạn nên tạo bộ đệm 256k cho tất cả các số 0 và so sánh nó với 256k được lấy từ đĩa trong một lần. Cộng với một số xử lý ngoại lệ.
Gareth Davidson

3

Để có sự tương đương thực sự ddtrên Windows, đừng tìm kiếm các lựa chọn thay thế nửa nướng - chỉ cần cài đặt GNU thực dd. Cách tốt nhất để làm điều này có lẽ là Cygwin , một bản phân phối khá đầy đủ của GNU và các công cụ FOSS khác. Hãy nghĩ về nó như cài đặt "Linux" (hay đúng hơn là bản phân phối (GNU) Linux) trên Windows, không có bất kỳ lớp mô phỏng hoặc hộp đen giới hạn nào như Hệ thống con Windows cho Linux. Nó là bản địa như nó được.

Để sử dụng nó, bạn sẽ cần:

  1. Cài đặt môi trường Cygwin cơ bản. Làm như vậy theo hướng dẫn trên trang web , chỉ cần để mặc định nếu bạn chỉ cần dd- nhưng bạn cũng có thể có một số niềm vui và nhận được gợi ý về những gì nó cung cấp.
  2. Mở terminal Cygwin với tư cách quản trị viên , sau đó kiểm tra thiết bị / phân vùng nào bạn muốn làm việc với cat /proc/partitions.
  3. Sử dụng ddnhư bạn làm trên bất kỳ (GNU) Linux nào.

thậm chí bạn có thể sử dụng cygwin từ dấu nhắc lệnh của DOS ... (tôi sử dụng toàn bộ thời gian cho cat / grep / tail / ...) và thậm chí trong bảng điều khiển DOS / Windows "ls -la / Proc" hoạt động tốt ... một trong những ưu tiên của tôi ...
ZEE

3

wow tất cả những phản hồi đó và DISM đã tồn tại được bao lâu? khá chắc chắn rằng nó đã được tích hợp vào windows 7 ngay từ đầu.

DISM / Capture-image /image-file:d:\backup.wim / captir: c: \ / name: Simpleback

có rất nhiều cài đặt bạn có thể điều chỉnh. sau khi bạn chụp - triển khai lên phương tiện lưu trữ mới bằng cách sử dụng các công cụ tháo dỡ.



Không hoạt động : The /image-file option is not recognized in this context.. Nên là/imagefile
yahol

1

Sau khi thử một số công cụ được đề xuất ở đây, cuối cùng tôi đã sử dụng balena Etcher trên Windows 10. (Rufus đã cho tôi một kết quả với một tổng kiểm tra không chính xác. HDDRawCopy đã cho tôi một lỗi ghi.)


1

rawcopytừ http://www.ltr-data.se/opencode.html/ . rawcopy -hhiển thị hướng dẫn.

Nếu bạn cần /dev/zero/dev/random, có "Trình điều khiển thiết bị không và ngẫu nhiên" từ cùng một trang.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.