Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Program for writing Microsoft compatible boot records
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
1. General ---------- This program is used to create Microsoft compatible boot records. It is able to do the same as Microsoft "fdisk /mbr" to a hard disk. It is also able to do the same as Microsoft "sys d:" to a floppy or FAT partition except that it does not copy any system files, only the boot record is written. Specifications of boot records is taken from http://www.geocities.com/thestarman3/asm/mbr/MBR_in_detail.htm The program is useful when using Linux to restore a backup of a reference Microsoft Windows installation. Author of this program is Henrik Carlqvist (henca@users.SourceForge.net), it is available for download from http://ms-sys.sourceforge.net/ 2. Installation --------------- Step 1, unpack the archive: tar -xzvf ms-sys*.tgz Step 2, compile: cd ms-sys make Step 3, become root and install su (and give password) make install 3. Examples ----------- Please note that Windows ME is not useful for making standalone bootable floppies. However, Win9x and DOS works fine with example 1 and example 3. Example 1, creating a 1.68 MB bootable floppy: This example assumes that you have your windows installation mounted at /dosc and also have mtools and fdformat installed. fdformat /dev/fd0u1680 mformat a: ms-sys -w /dev/fd0 mcopy /dosc/io.sys a: mcopy /dosc/msdos.sys a: mcopy /dosc/command.com a: Example 2, restoring a backup to a fresh hard disk: Step 1, use GNU parted to create your FAT32 partition and file system: parted (then create partition and file system) Step 2, write the MBR: ms-sys -w /dev/hda Step 3, write the FAT32 partition boot record: ms-sys -w /dev/hda1 Step 3b, write partition info and drive id to partition: ms-sys -p /dev/hda1 This step might be needed depending on which program was used to format the partition. If the program was formatted with gnu parted this step could be skipped. It is also possible to combine this flag with the previous step like this: ms-sys -wp /dev/hda1 Step 4, mount your new filesystem: mount /dev/hda1 /mnt Step 5, read your backup cd /mnt; tar -xzvf /path/to/my_windows_backup_file.tgz Example 3, creating a bootable 2.8 MB floppy image for use with an el-torito bootable CD: dd if=/dev/zero of=floppy288.img bs=1024 count=2880 /sbin/mkdosfs floppy288.img ms-sys -1 -f floppy288.img su mount -o loop floppy288.img /mnt cp msdos.sys /mnt/ cp io.sys /mnt/ cp command.com /mnt/ (it might also be a good idea to add a config.sys and autoexec.bat with CDROM support) umount /mnt exit cp floppy288.img cd-files/eltorito.img mkisofs -b eltorito.img -c eltorito.cat -o cdimage.iso cd-files (burn the file cdimage.iso to a CD with cdrecord or another program) 4. Documentation ---------------- There is a man-page for ms-sys, and you will get some help by typing: ms-sys --help 5. Known problems ----------------- There have been reports about unbootable FAT32 partitions created with "mformat -F c:". One workaround is to use gnu parted to create the partition instead. Since version 1.1.3 ms-sys has the switch -p which is supposed to fix this problem. The problem has also been reported on partitions formatted with mkdosfs and mkfs.vfat. There have been yet another problem reported about the -p switch and gnu parted together with Linux kernel 2.6. The problem is that kernel 2.6 might report a geometry incompatible with other operating systems. There is a detailed description of the problem at http://groups-beta.google.com/group/linux.kernel/msg/404d8683ce302cf2 As a workaround for this ms-sys now has the switch -H to manually set the number of heads. The next problem is to find out what value for number of heads to give. If the system was booted by LILO this can be shown by "lilo -T geom". There have been reports about problems when compiling against uClibc. More problem reports or suggestions of fixes are welcome! Writing Windows 7 NTFS boot records with ms-sys is probably not useful if the intention is to get a bootable partition.