x86 PCでブート可能なコードでディスクにアクセスするには、最も簡単で最も簡単なのはBIOS int 13h functionsです。これにより、個々のディスクセクタを読み書きできるようになります。
ハードドライブは通常パーティションに分割され、各パーティションの場所、サイズ、タイプを示すMaster Boot Record(MBR
)もあります。 MBRは、HDDの最初のセクタです。
各パーティションには、いくつかのファイルシステムがあります。 NTFSでファイルを読み書きできるようにするには、NTFSドライバを実装する必要があります。
AFAIK、NTFSは開いていませんが、リバースエンジニアリングベースのNTFSドライバ(Linuxなど)があります。 NTFSドライバはアセンブリではなくC(++)で記述されるのが一般的です。なぜならNTFSは大きく複雑であり、Cはアセンブリよりも開発、メンテナンス、移植性の点で実用的です。私はアセンブリでFSコードを書くことをお勧めしません。
P.S. EFIシステム上のものは多少異なります。 MBRではなくGPTがあり、BIOS int 13hの代わりにEFI機能を使用してディスクにアクセスします。
P.P.S.私はあなたがCと少し組み立てたいが、NTFSの代わりにFAT1x/32を使いたい。それは実行可能です。 NTFSはより困難です。特に、十分な知識とスキルを持っていない場合は、単一の人にとっては不可能かもしれません。
どのファイルシステムですか?各ファイルシステムには、ファイル情報を格納する方法が異なります。 –
ファイルシステムに加えて、私たちはあなたが書いているOSもよく知っておく必要があります。 –
Windows 7とext3だと思うデフォルトのファイルシステム –