Install the grub4dos bootloader to the USB drive MBR (Langsheng N100, formatted as HDD) using grubinst_gui, but it fails to boot on Computer 1 (manufacturer LENOVO, chipset I945G/GZ, southbridge 82801GB(ICH7/R), BIOS version 2TKT51AUS).
Copy the 63E-7FF of grldr to the 03E-1FF of the USB drive boot sector DBR using WinHex, and it boots successfully on Computer 1 (the USB drive is recognized as A:), but fails to boot on Computer 2 where the USB drive is recognized as C:.
Examine the boot code:
7C00 EB3C JMP 7C3E
......
7C3E FA CLI
7C3F FC CLD
7C40 B6FF MOV DH,FF
7C42 80FEFF CMP DH,FF
7C45 7502 JNZ 7C49
7C47 B200 MOV DL,00
7C49 31C0 XOR AX,AX
7C4B BD007C MOV BP,7C00
7C4E 8ED0 MOV SS,AX
7C50 8D66E0 LEA SP,
7C53 FB STI
7C54 895624 MOV ,DX
7C57 60 PUSHA
7C58 B441 MOV AH,41
7C5A BBAA55 MOV BX,55AA
7C5D CD13 INT 13
......
Analyze the code: It always assigns 00 to DL and treats the USB drive as ZIP format, so it fails to boot on Computer 2 where the USB drive is recognized as C:.
Modify the code:
7C54 8B5624 MOV DX,
After modification, it boots successfully on both Computer 1 and 2. But on Computer 1 where the USB drive is recognized as A:, it prompts that menu.lst is not found. Then modify grldr, delete all '--ignore-floppies ' in the menu at the end of the file. At this point, everything is normal.
[ Last edited by yaya on 2008-9-11 at 09:30 AM ]
Copy the 63E-7FF of grldr to the 03E-1FF of the USB drive boot sector DBR using WinHex, and it boots successfully on Computer 1 (the USB drive is recognized as A:), but fails to boot on Computer 2 where the USB drive is recognized as C:.
Examine the boot code:
7C00 EB3C JMP 7C3E
......
7C3E FA CLI
7C3F FC CLD
7C40 B6FF MOV DH,FF
7C42 80FEFF CMP DH,FF
7C45 7502 JNZ 7C49
7C47 B200 MOV DL,00
7C49 31C0 XOR AX,AX
7C4B BD007C MOV BP,7C00
7C4E 8ED0 MOV SS,AX
7C50 8D66E0 LEA SP,
7C53 FB STI
7C54 895624 MOV ,DX
7C57 60 PUSHA
7C58 B441 MOV AH,41
7C5A BBAA55 MOV BX,55AA
7C5D CD13 INT 13
......
Analyze the code: It always assigns 00 to DL and treats the USB drive as ZIP format, so it fails to boot on Computer 2 where the USB drive is recognized as C:.
Modify the code:
7C54 8B5624 MOV DX,
After modification, it boots successfully on both Computer 1 and 2. But on Computer 1 where the USB drive is recognized as A:, it prompts that menu.lst is not found. Then modify grldr, delete all '--ignore-floppies ' in the menu at the end of the file. At this point, everything is normal.
[ Last edited by yaya on 2008-9-11 at 09:30 AM ]
