1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
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.
Unfortunately, there have also been some reports that the switch -p does not
always fix the problem above. To do further work on the -p switch I will need
someone able to reproduce the problem who is willing to do some testing.
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
There have been reports about problems when compiling against uClibc. More
problem reports or suggestions of fixes are welcome!
|