-1
C#을 사용하면 시스템 부팅 하드 드라이브의 Windows 마스터 부트 레코드를 어떻게 백업합니까? 바이러스 백신 엔진 용입니다.C#으로 Windows 마스터 부트 레코드를 백업하려면 어떻게해야합니까?
C#을 사용하면 시스템 부팅 하드 드라이브의 Windows 마스터 부트 레코드를 어떻게 백업합니까? 바이러스 백신 엔진 용입니다.C#으로 Windows 마스터 부트 레코드를 백업하려면 어떻게해야합니까?
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace BackupMBR
{
class Program
{
[DllImport("kernel32")]
private static extern IntPtr CreateFile(
string lpFileName,
uint dwDesiredAccess,
uint dwShareMode,
IntPtr lpSecurityAttributes,
uint dwCreationDisposition,
uint dwFlagsAndAttributes,
IntPtr hTemplateFile);
static void Main(string[] args)
{
IntPtr handle = CreateFile(
@"\\.\PHYSICALDRIVE0",
0x80000000,
1,
IntPtr.Zero,
3,
0,
IntPtr.Zero
);
using (FileStream disk = new FileStream(handle, FileAccess.Read))
{
byte[] mbrData = new byte[512];
Console.WriteLine("Starting MBR Backup...");
try
{
disk.Read(mbrData, 0, mbrData.Length);
FileStream mbrSave = new FileStream("mbr.img", FileMode.Create);
mbrSave.Write(mbrData, 0, mbrData.Length);
Console.WriteLine("MBR Backuped to mymbr.img success!");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
Console.ReadKey();
}
}
}
GPT는 무엇이 좋을까요? –
@DaveBurton 좋은 지적. Microsoft의 [이 문서] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa363785 (v = vs.85) .aspx # partition_styles)를 검토하여 자세한 내용을 확인합니다. – Volomike