Как писать в блочное устройство Windows напрямую?

Рейтинг: 0Ответов: 0Опубликовано: 08.03.2023

Возможно, не совсем верная постановка вопроса, но суть такая. Мне нужно написать программу (язык - C#), которая бы писала информацию о системе напрямую на "блочное устройство" (а если быть точнее, на заранее подготовленный raw раздел). Приведу аналогию с Unix:

 ~ # fdisk -l
/dev/sda1 - 64M - unknown partition # target "RAW" partition
/dev/sda2 - 100G - ext4
 ~ # echo "Log!" > /dev/sda1

Как вообще сделать подобное в Windows, где не соблюдается Unix-овый принцип "всё есть файл"?

P. S. Спрашивают: "Что в вашем понимании "Блочное устройство в Windows"?".

Ну, я имею в виду, грубо говоря, файл диска в Windows или что-то такое... Мне надо писать не в файл на диске, а в сам диск напрямую. Грубо говоря, как-то так:

RAWWriteToPartition(partition, bytes)

RAW DISK UNTIL WRITING:

# DISK IS GPT WITH PROTECTIVE MBR

| MBR HEADER | GPT HEADER | START PARTITION 1 | (empty) | END PARTITION 1 | START PARTITION 2 | ext4 file system... | END PARTITION 2|

AFTER WRITING:

| MBR HEADER | GPT HEADER | START PARTITION 1 | mybytes | END PARTITION 1 | START PARTITION 2 | ext4 file system... | END PARTITION 2|

Как-то так, если очень упрощенно. По крайней мере, если сделать в Unix echo bytes > /dev/sda1, то именно это, именно так и произойдёт.

Ответы

Ответов пока нет.