El disco duro es solo otro archivo (no es un "archivo normal" sino un "archivo de dispositivo", pero sigue siendo un archivo). Ábralo de la manera normal ...
int fdes = open("/dev/sda1", O_RDONLY);
if (fdes < 0)
err(1, "/dev/sda1");
... do more ...
Recibirá los permisos de error a menos que tenga los permisos correctos. Tenga en cuenta que "/dev/sda1"
es solo un ejemplo, es la primera partición en el disco sda
, la ruta exacta dependerá de su sistema. Se pueden listar los puntos de montaje con el comando mount
, y se puede acceder a los discos enteros (en lugar de sólo las particiones) usando /dev/sda
, /dev/sdb
, etc.
También puede abrirlo como no en C++ fstream
o C FILE
, pero lo hago recomiendo esto Lo mejor será encontrar el código de ejemplo y obtener ayuda en los foros si usa open
.
'/ dev/sda1' sería una partición ... de acceso a la unidad cruda lo que probablemente desea utilizar'/dev/sda' –
1 "sólo por otro archivo" y que no ensucia con ' dd'. Tenga cuidado con los permisos, es probable que necesite ser miembro del grupo de discos o de la raíz (no es una gran idea) para hacer esto. – Flexo
Que esto será de mucha ayuda. –