|
转贴一个成功的个案..
Hi all,
I am just sitting on my Gericom Notebook Blockbuster 2440 XL, where normal USB boot via its Bios does not work.
Now I am writing what I do, to succeed there with USB boot. Even if your Bios supports booting from USB, this new method from s4e to fake the MBR Signature will work there. It can also be used for firewire devices (or any device with a MBR) and USB sticks. It works also, if your compi has nothing heard in his long live about USB in his Bios, or has no USB connection at all.
It should also work on a Mac.
Windows XP boots from USB
Author: Dietmar Stölting, 16. March 2008
dietmar.stoelting@t-online.de
Germany
Thanks to s4e, who told us his idea.
Tutorial (Version 7)
1.) Connect an USB harddisk to your working XP or install first a fresh XP on your normal harddisk.
This XP has to stay on the first partition of the first harddisk.
If you have no USB at all, or all USB is disabled in Bios or only USB1.1, insert an USBtoPCI slotcard.
The USB hardisk has to be connected to your XP, because the drivers for the USBtoPCI slotcard and for the USB harddisk must be installed there. Only one, and that must be the first partition, is allowed on the USB harddisk.
Disable the pagefile.
Copy this XP to that USB harddisk. I use Partition Magic 8.
It can be Fat, Fat32, NTFS, doesnt matter.
Dont use different filesystems for the XP on the USB device and for xp.img.
I use here XP SP1 but it works also with XPSP2.
2.) Make the XP on the USB harddisk USB bootfriendly, use Tutorial 4 or 6, or the very easy methode from
http://www.usboot.org/tiki-index.php, which allows also a pagefile on the USB disk.
Delete on the USB harddisk in registry in SYSTEM in HKLM the key MountedDevices.
3.) Get the attached files mkimg.zip, vdk32-050406.zip, dsfok.zip, gsar121.zip, mksparse.zip, mbrbatch002.zip, DumpHex-1.0.1.zip, grub4dos-0.4.3-2008-03-14.zip, SetupImgBurn_2.4.0.0.exe, mkisofs.exe from pebuilder3110a .
Unzip them all to the root folder C:\ of your working XP. All those files are needed to build the Boot CD.
4.) Generating a virtual harddisk with a size of 50 MB:
Type at the commandline of your working XP C:\mkimg , name it xp.img (Case sensitive), chose 50M size, 128/63 geometry, 07 for NTFS, and then /fsz for building a 50 MB virtual harddisk, format it with j. Format it with XP to Fat32 or to NTFS. IF XP dont like to do that, format it with Partition Magic 8, and once more with XP to the wished filesystem.
5.) Copy now from your external USB bootfriendly harddisk the following files to the 50MB virtual harddisk:
BOOT.INI with a content of
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="USB Windows"
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="all is ok until now"
NTDETECT.COM
NTLDR
WINDOWS\AppPatch\drvmain.sdb
WINDOWS\FONTS\vga850.fon
WINDOWS\FONTS\vgaoem.fon
WINDOWS\INF\biosinfo.inf
WINDOWS\system32\bootvid.dll
WINDOWS\system32\c_1250.nls (in germany instead c_1252.nls)
WINDOWS\system32\c_850.nls
WINDOWS\system32\hal.dll
WINDOWS\system32\kdcom.dll
WINDOWS\system32\l_intl.nls
WINDOWS\system32\ntkrnlpa.exe (only, if you use 2 or more processors)
WINDOWS\system32\ntoskrnl.exe
WINDOWS\system32\config\system (be sure, that there is no more a Key HKLM MountedDevices in system)
WINDOWS\system32\drivers\
6.) Go to the commandline and type at C:\vdk remove
7.) Open in Winhex the file xp.img (sitts on C:\ ) and the USB harddisk. Have a look at both of their first 512 Byte (MBR).
Save those 512 bytes (MBR) each on your working XP as XPIMGMBR.dat and USBHDMBR.dat.
Now comes the most critical procedure to fake the SIGNATURE and give both MBR the same checksum.
Compare the first 512 Bytes of both MBR:
The only differences that are allowed at the moment, stay in 1B8, 1B9, 1BA, 1BB , this is the place of the SIGNATURE and 1C0, 1C1...to 1CF, the size of each Harddisk.
Write the SIGNATURE of the external harddisk to the SIGNATURE of the xp.img.
This means, to write the values in 1B8, 1B9, 1BA, 1BB of the harddisk to the same place into MBR of XP.IMG.
Then write 1C0...1CF of the external harddisk to 1A0...1AF of the xp.img.
Then write 1C0...1CF of xp.img to 1A0...1AF to the external harddisk.
Compare once more the MBRs of xp.img and the USB harddisk.
There must now be correspondending differences in 1A0...1AF and 1C0...1CF.
Thanks for this nice picture to s4e.- ------------EXTERNAL HD---------------------
- 0000190: 0000 0000 0000 0000 0000 0000 0000 0000 // ==
- 00001a0: 0100 07fe 3f02 3f00 0000 04bc 0000 0000 // FF <---\
- 00001b0: 0000 0000 002c 4463 fd62 7287 0000 8001 // == |
- 00001c0: 0100 07fe ffff 3f00 0000 828a a112 0000 // EE --\ |
- 00001d0: 0000 0000 0000 0000 0000 0000 0000 0000 // == | |
- 00001e0: 0000 0000 0000 0000 0000 0000 0000 0000 // == | |
- 00001f0: 0000 0000 0000 0000 0000 0000 0000 55aa // == | |
- -------------XP.IMG---------------------------- | |
- 0000190: 0000 0000 0000 0000 0000 0000 0000 0000 // == | |
- 00001a0: 0100 07fe ffff 3f00 0000 828a a112 0000 // EE <-/ |
- 00001b0: 0000 0000 002c 4463 fd62 7287 0000 8001 // == |
- 00001c0: 0100 07fe 3f02 3f00 0000 04bc 0000 0000 // FF ----/
- 00001d0: 0000 0000 0000 0000 0000 0000 0000 0000 // ==
- 00001e0: 0000 0000 0000 0000 0000 0000 0000 0000 // ==
- 00001f0: 0000 0000 0000 0000 0000 0000 0000 55aa // ==
复制代码 8.) Open the commandline of the working XP and type there at C:\
mkdir iso_root
copy grldr iso_root
copy menu.lst iso_root
copy xp.img iso_root
9.) Go to C:\iso_root. There are now xp.img, menu.lst, and grldr.
Open menu.lst with the editor and delete all its content.
Put into menu.lst:
title Image chainloading USB
map --read-only /xp.img (hd0)
map --hook
root (hd0,0)
chainloader +1
10.) Go to commandline and type at C:\
mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o grldr.iso iso_root
This gives you in C:\ the file grldr.iso.
11.) Burn grldr.iso with SetupImgBurn to a CD.
12.) Shut your compi down and restart with that CD and the connected USB harddisk to USB XP.
Dietmar
PS: Here is a pic of my USB booted Gericom Notebook Blockbuster 2440 XL , I chose Fat32, the normal Ide harddisk is disconnected in Bios. This picture is with a USB to PCI slotcard, but normal USB works also.
So, believe me, Tutorial 7 works, thank you very much s4e.
PS: Please tell me, if you succeed or which part is unclear in the Tutorial 7.
For experts: Only the xp.img has to be USBBOOT friendly, not the XP on the USB harddisk. |
-
-
dsfok.zip
76.38 KB, 下载次数: 55, 下载积分: 无忧币 -2
-
-
DumpHex_1[1].0.1.zip
32.06 KB, 下载次数: 53, 下载积分: 无忧币 -2
-
-
gsar121.zip
41.05 KB, 下载次数: 102, 下载积分: 无忧币 -2
-
-
mbrbatch002.zip
8.67 KB, 下载次数: 104, 下载积分: 无忧币 -2
-
-
mkimg.zip
4.85 KB, 下载次数: 54, 下载积分: 无忧币 -2
-
-
mkisofs.zip
146.83 KB, 下载次数: 53, 下载积分: 无忧币 -2
-
-
mksparse.zip
23.15 KB, 下载次数: 80, 下载积分: 无忧币 -2
-
-
vdk32_050406.zip
97.03 KB, 下载次数: 199, 下载积分: 无忧币 -2
评分
-
查看全部评分
|