Эквивалент Cygwin для Linux /dev/sda, /dev/sdb и т. д.

В Linux я могу получить доступ к жесткому диску как /dev/sdX. Это игнорирует любые таблицы разделов, файловые системы и т. д., и просто получает доступ к диску поблочно. Что эквивалентно в Cygwin? Я уже искал в гугле, но ничего работающего не нашел.

Я хотел бы иметь возможность (например) создать образ флешки с чем-то вроде

dd if=/dev/??? of=image.bin

Я понимаю, что есть программы для Windows, которые считывают и записывают образы жестких дисков. Команда dd — это просто поясняющий пример. Я не после создания образа диска. Я после имени устройства.


person rsteward    schedule 04.01.2016    source источник


Ответы (2)


В Cygwin просто скопируйте и вставьте следующее: "как одну длинную запись", затем нажмите Enter

for F in /dev/s* ; do echo "$F    $(cygpath -w $F)" ; done

Это должно быть запущено как скрипт, добавив шебанг в начало файла вместе с текстом сверху.

Ваш вывод должен быть похож на следующий

PB-2@PB-2 ~
$ for F in /dev/s* ; do echo "$F    $(cygpath -w $F)" ; done
/dev/scd0    \\.\E:
/dev/scd1    \\.\F:
/dev/sda    \\.\Disk{dc9927e0-d232-e04c-2c75-77f787df605d}
/dev/sda1    \\.\Volume{1200e263-fc48-458c-a1d6-115b385b372c}
/dev/sda2    \\.\HarddiskVolume2
/dev/sda3    \\.\STORAGE#Volume#{7c54accc-b533-11e6-9cce-806e6f6e6963}#0000000025900000#{7f108a28-9833-4b3b-b780-2c6b5fa5c062}
/dev/sda4    \\.\C:
/dev/sda5    \\.\Volume{c3553ab1-e8a5-4d7b-a324-544b32fe3d3e}
/dev/sdb    \\.\Disk{ff7e8c9f-7aa2-1f15-8d02-d126ff13dfb5}
/dev/sdb1    \\.\D:
/dev/sdc    \\.\Disk{07352cef-974b-9296-720f-70f1ae015a85}
/dev/sdc1    \\.\G:
/dev/shm    C:\cygwin64\dev\shm
/dev/sr0    \\.\E:
/dev/sr1    \\.\F:
/dev/stderr    /dev/pty0
/dev/stdin    /dev/pty0
/dev/stdout    /proc/3888/fd/pipe:[94489288360]

PB-2@PB-2 ~
$

Мне потребовались часы поиска, чтобы найти это, поэтому я рад поделиться этим.

Если кто-то затем хочет знать соответствующие Cygpaths

просто введите

mount

И вывод должен быть похож на то, что следует

PB-2@PB-2 ~
$ mount
C:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin64 on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto)
E: on /cygdrive/e type udf (binary,posix=0,user,noumount,auto)
F: on /cygdrive/f type iso9660 (binary,posix=0,user,noumount,auto)
G: on /cygdrive/g type exfat (binary,posix=0,user,noumount,auto)

PB-2@PB-2 ~
$
person phatboyj    schedule 06.03.2017
comment
Немного неэлегантно, но, по крайней мере, это работает, в отличие от другого ответа. - person Sridhar Sarnobat; 18.07.2017
comment
sd* лучше, чем s* - person pbies; 03.11.2020

делать

cat /proc/partitions

и вы увидите фактическое сопоставление /dev/sdX с их аналогами в Windows.

person rgrr    schedule 15.01.2016
comment
Мой нет. Не могли бы вы вставить свой вывод? Он показывает major minor #blocks name, ни одно из которых не является именем диска Windows. - person Sridhar Sarnobat; 17.07.2017
comment
Могу подтвердить, что если жесткий диск подключен, это показывает букву диска, на котором он установлен, под заголовком win-mounts после name, и так было всегда, сколько я себя помню. - person Hashim Aziz; 23.04.2018
comment
Любопытно, возвращаясь к этому, это больше не работает по какой-то неизвестной причине, то есть в столбце win-mounts ничего не отображается. Может ли кто-нибудь еще подтвердить, работает ли он в их системе? - person Hashim Aziz; 19.09.2019