Saya sedang mengerjakan proyek tertanam. Saya memerlukan tempat untuk menyimpan beberapa informasi meta independen sistem file pada perangkat penyimpanan. Perangkat ini memiliki tabel partisi MSDOS. Perangkat ini juga mungkin memiliki ruang yang tidak terisi (tergantung pada ukurannya) tetapi akan TRIMmed (dan juga mungkin terhempas oleh partisi baru di masa depan).
Saya memerlukan lokasi pada perangkat yang tidak teralokasi dan yang memiliki risiko rendah disentuh (di luar sepenuhnya menghapus perangkat). Perangkat hanya dijamin memiliki MBR pada titik meta data harus ditulis terlebih dahulu; artinya tidak ada EBR / VBR yang dapat saya gunakan.
Ada 446 byte di awal perangkat yang tersedia untuk kode bootstrap MBR. Saat ini satu-satunya ide saya adalah menyimpan data di akhir blok ini. Namun, perangkat ini dapat di-boot dan saya tidak tahu apakah saya akan menghapus kode bootstrap atau tidak.
Ukuran sektor adalah 512 byte dan MBR adalah sektor pertama, saya cukup yakin (benar jika saya salah) bahwa itu berarti sektor kedua tersedia untuk digunakan oleh data partisi, jadi saya tidak dapat menggunakannya juga .
Adakah yang punya ide? Saya butuh 4 byte ruang.
sumber
00 00
, yang seharusnya membuat Windows berpikir bahwa disk tidak memiliki tanda tangan NT sama sekali dan bahwa kode bootstrap meluas hingga 446 byte penuh. (Saya tidak yakin kapan tanda tangan ditulis - mungkin hanya selama instalasi OS, karena Windows tidak ingin merusak kode bootstrap yang ada ketika seseorang hanya terhubung ke perangkat.)MBR berisi tabel partisi serta kode booting
Bootcode: 446bytes Parisi primer: 64bytes Sig: 2bytes
Apakah penyimpanan akan digunakan untuk boot dari? mungkin ada baiknya mempertimbangkan "merusak" bootcode dalam MBR untuk menyimpan metadata itu. Bootcode hanya benar-benar digunakan saat boottime
sumber
Satu-satunya cara yang benar-benar aman untuk menyimpan data Anda adalah dengan partisi sendiri. Mengingat kebutuhan Anda, partisi bisa kecil (satu sektor). Menyimpan data di luar partisi berisiko menyebabkan overrun atau data Anda menimpa sesuatu yang penting. Mengingat bahwa ini hanya empat byte, mengambil alih nomor seri tabel partisi, seperti yang ditunjukkan oleh grawity, mungkin adalah opsi ter-out-of-partisi yang paling aman, tetapi saya tidak akan merekomendasikan ini, terutama bukan tanpa lebih banyak konteks, karena nomor seri yang digunakan oleh beberapa alat, sehingga mengambil alih dibayangkan mungkin menyebabkan masalah jika Anda bergantung pada sesuatu yang menggunakan nomor seri.
sumber