Il disco rigido è solo un altro file (non un "file normale" ma un "file di dispositivo", ma ancora un file). Aprilo nel modo normale ...
int fdes = open("/dev/sda1", O_RDONLY);
if (fdes < 0)
err(1, "/dev/sda1");
... do more ...
Si otterranno errori di autorizzazione a meno che non si disponga delle autorizzazioni corrette. Notare che "/dev/sda1"
è solo un esempio, è la prima partizione sul disco sda
, il percorso esatto dipende dal sistema. Si possono elencare i punti di montaggio con il comando mount
, ed è possibile accedere a interi dischi (anziché solo partizioni) utilizzando /dev/sda
, /dev/sdb
, ecc
Si potrebbe anche aprire come C++ fstream
o C FILE
, ma non lo faccio consiglia questo. Avrai un tempo migliore per trovare codice di esempio e ottenere aiuto sui forum se utilizzi invece open
.
fonte
2011-09-02 21:37:44
'/ dev/sda1' sarebbe una partizione ... per l'accesso in auto grezzo si sarebbe probabilmente vuole utilizzare'/dev/sda' –
+1 per "solo un altro file" e non scherzi con ' dd'. Fai attenzione ai permessi, probabilmente dovrai essere un membro del gruppo di dischi o root (non una grande idea) per farlo. – Flexo
Che questo sarà molto utile. –