windows - Få adgang til hardrive filer med monterings kode?

Indlæg af Hanne Mølgaard Plasc

Problem



Så jeg prøver at lave et lille boot-kompatibelt program, der lader brugeren slette og tilføje filer til et bestemt drev. Det eneste problem er, at jeg ikke er sikker på, hvordan man får adgang til drev med montage. Kan nogen pege på mig i retningen, hvor jeg kan finde disse oplysninger, venligst? Oplysningerne kan også være for c programmeringssprog.


Jeg ville forsøge at få adgang til standard Windows 7 hardrive fra nogle bootable assembly code type. Hvilket er NTFS.

Bedste reference


For at få adgang til disk i en bootbar kode på en x86-pc, er det nemmeste og mest naturlige at bruge BIOS int 13h funktionerne. Det vil lade dig læse og skrive individuelle disk sektorer. [2]


Harddiske deles ofte op i partitioner, og der er også Master Boot Record (MBR), der beskriver placeringen, størrelsen og typen af ​​hver partition. MBR er den første sektor af en HDD.]]


Inden for hver partition er et filsystem. Du skal implementere en NTFS-driver for at kunne læse og skrive filer i NTFS.


AFAIK, NTFS er ikke åben, men der findes reverse-ingenering-baserede NTFS drivere (fx i Linux). NTFS-drivere er typisk skrevet i C (++), ikke samling, fordi NTFS er stor og kompleks og C er mere praktisk med hensyn til udvikling, vedligeholdelse og bærbarhed end samling. Jeg vil ikke anbefale at skrive FS kode i samling. [4]


P. S. På EFI-systemer er tingene noget anderledes. Der er GPT i stedet for MBR, og du bruger EFI-faciliteter til at få adgang til diske i stedet for BIOS int 13h. [5] [6]


P.P.S. Jeg har gjort det, du vil have i C og en lille samling, men med FAT1x/32 i stedet for NTFS. Det er muligt. NTFS er sværere. Det kan være umuligt for en enkelt person, især hvis de ikke har tilstrækkelig viden og færdigheder.