Jump to content

victor888

Member
  • Posts

    159
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    China

Posts posted by victor888

  1. @wimb

    Forget to say, undoren.com ren_fold.cmd and binifix4.cmd, migrate.inf files are needed this way.

    ==

    For installing xp by PE method, I don't think that is a good way. Because you have to boot into PE which cost time and exists the possiblity of failure booting.

    Still I think aviv00's method is best, but need revise.

  2. Here already such dd example in Chinese: http://bbs.znpc.net/viewthread.php?tid=550...t=dd&page=4

    The 60th topic.

    I translate here

    dd is a strong command, personally I think this is anoter most powerfull command after map command of grub4dos.

    By using the switch of "bs, skip, seek" we can copy file to file, sector to sector and the byte to byte of file, any position can be wittern (wether the file is read only or have NTFS right, Added by victor888).

    Note:

    1. for a complete write, the byte of target file must be more than or equal to source file.

    2. The target file should be in device, no matter what the file content is.

    Example:

    This is a dos batch on (fd0) name path.bat:

    set string=abcdefghijklmnopqrstuvwxyz

    set path=¥:

    goto main

    :main

    ...

    ...

    ....

    goto end

    ...

    :end

    The first line is 37 bytes (in fact, there ENTER or SHIFTLINE charactor bytes at the end of line, for the sake of demonstrating the use of dd command, the bytes are omitted.)

    The second line is 11 bytes.

    Then we could write any charactor to the second line.

    e.x replacy ¥ in the second line to certain letter, juse do the following:

    dd if=(fd0)/path.bat of=(fd0)/path.bat bs=1 skip=11 count=1 seek=46

    hence, the second line was replace to set path=a:

    (bs=1 means one byte as read unite,count=1 means only write one block defined by bs switch, here is one byte. skip=11 means skip 11 bytes including space. seek=46 means skip 46 bytes when write, that is write the 47 byte ¥)

    Certainly, we can do booting disk this way:

    dd if=/pe.img of=(fd0) or

    dd if=(cd0) of=/cd.iso

    Writing boot sector to imge fiel is also convenient:

    dd if=(hd0,0)+1 of=/dos.img

    We can study above to chang boot.ini without dificculty.

  3. Sorry for my poor English and unclear meaning.

    Abnormal direcory is just for myself use for the sake of safe and a clean root. This kind of name can not be opened by double click. Abnormal name has no relation to file system.

    For installing XP from usb, any directory name is ok as long as it works.

    ==

    Till now, installing xp from usb by hard disk method (msdoinitiated=1), the i386 directory has to be in another directory whether it is $WIN_NT$.~LS or short/long names.

    Install xp from usb by the way aviv00 provided, only i386 direcotry left on root directory. I think this name must be 4 charcters.

    ==

    Nothing to suspect, I have made such flash disk without $WIN_NT$.~BT folder because all the boot files are all in $WIN_NT$.~LS\I386. I just revised setupldr.bin and setupdd.sys.

    ==

    So much.

  4. Very sorry for my mistake.

    It is $WIN_NT$.~LS renamed to XPLS not $WIN_NT$.~BT, this folder is needless, because all files are identical in I386 folder.

    My usb stick directory:

    grldr

    xpl~1 (abnormal directory)

    I386

    setupldr.bin (hex revised first found ntdetect.com to nd.com, $win_nt$.~bt to xpl~1\i386, the aditional "bt" add hex value 0, txtsetup.sif to xpl~1\ts.sif)

    setupdd.sy_ ($win_nt$.~bt to xpl~1\i386, $.w.i.n._.n.t.$...~.l.s. to x.p.l.~.1.\.i.3.8.6. aditional ls add hex 0)

    migrate.inf

    winnt.sif

    nd.com (renamed from ntdetec.tcom)

    me (renamed from menu.lst)

    bi (renamed from boot.ini)

    ntldr (use grldr to load)

    ts.sif (renamed fromtxtsetup.sif)

    grldr (hex revised menu.lst to me)

  5. This should mean that we could (instead of using \XPLS\I386) using directly \I386, and thus just by changing two files be able to copy the \I386 folder from Cd, right?

    Not from Cd, it is just one I386 folder on the root of USB disk. But I don't know how to do revise that two files.

    The migrate.inf, as far as I can say, will be needed anyway (or it must be replaced with "something else"), it's the only way to prevent the USB stick (or Hard Disk) from becoming "C:\" in the install.

    I can not understand why you say that. Can you explanit it? I know rdummy.sys prevent the USB HDD from being taken as C drive.

    I am not sure to have understood your report on the linked thread.

    ilko_t give me good explanation.

    We will go on this project.

  6. Check \windows\system32\$winnt$.inf where Setup looks for the source files. Check setup log files in \windows too.

    What did you put as SetupSourcePath in txtsetup.inf?

    I havn't checked it yet. I will test it tonight.

    I set SetupSourcePath = \device\harddisk0\partition1 in txtsetup.sif

    Were those missing files from a slipstreamed SP or updates? Check paths to them in txtsetup.sif, they may differ from those of a 'regular' source file.

    The XP is sp3 from msdn CD.

    rdisk value is not wrong. According to BIOS order the second disk, where Windows is being installed to, is rdisk(1). There is still need to mess up with BOOT.INI later on.

    The value rdisk(0) after "defaut =" is not equal to the one in [operatins systems] which is rdisk(1).

    The only way we found to avoid this behavior was to "break" HD order using grub4dos map command. Seems at that stage grub4dos mapping is still in effect. Setup would detect a strange situation and will use HD signature along with ARC path- e.g. signature(de33eaf8)disk(0)rdisk(0)partition(1)\WINDOWS. Note, rdisk value is the desired one. Those were tests with USB sticks. Signature part also seems to cause delay during boot, longer or shorter, depending on the system.

    If the file system not NTFS, boot.ini can be fixed by DD comand of grub4dos.

    In short- if MsDosInitiated="1", then SetupSourcePath and SetupSourceDevice are ignored, it defaults to $WIN_NT$.~LS, source files gets deleted as the source path is considered as temporary, saving disk space as the installation goes along.

    MsDosInitiated="0"- SetupSourcePath and SetupSourceDevice are taken into account, source path is no longer considered as "temporary", no files are deleted.

    Thanks a lot.

  7. Getting hint from http://www.msfn.org/board/index.php?showtopic=130689 I successfully deleted $WIN_NT$.~BT.

    USB_MULTIBOOT_10 should be upgraded.

    Rename $WIN_NT$.~BT (sorry it is my big mistake, it should be $WIN_NT$.~LS) to XPLS

    Move migrate.inf and winnt.sif to XPLS.

    Revise setupldr.bin replace $WIN_NT$.~BT to XPLS\I386.

    Revise setupdd.sys replace $WIN_NT$.~BT to XPLS\I386 and $.W.I.N._.N.T.$...~.L.S. to X.P.L.S add 0 to aditional hex values.

    that is all.

    ==

    Still I am thinking of the mechanism of installation XP of this topic http://www.msfn.org/board/index.php?showtopic=130689.

    I am sure of there is a thin layer of paper to broke that install xp from usb is just like the way CD does. Then migrate.inf, ren_folder.cmd and undoren.cmd all call be omitted. The processing usb installation period will become very very easy.

    ==

    The wrong path notice from the method of above topic, I am still studying, hope to find out the truth soon.

  8. I test it under VMWARE.

    2 disks, one is booted as installation source (harddisk0), the second is target disk. When guibooting, a lot of .CAT file not found correctly(default is c:\i386), as well notepad.exe and other dll file lost.

    the ntldr on the harddisk0 is changed to normal, and boot.ini was put on it too.

    the RDISK() is wrong:

    [boot Loader]

    timeout=1

    Default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

    [Operating Systems]

    multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

    The installation procedure I can understand, but what confused me is that why installation files havn't been deleted? Migrate.inf is not be used.

    Also above wrong directory, how to correct it?

    ...

  9. For example:

    To rename WXPE to abnormal WXP. under windows, open winrar browse to the flash disk and rename WXPE folder to WXP..\

    Just this way banormal direcotry wxp. formed. The directory can be accessed by WIN+R wxp~1.

    The following pic.

    udata. is perseronal data folder.

    utool. is software folder

    wxp. is short file folder such as me, nd.com, ts.sif etc.

    link is normal folder which contains .lnk file which can be opened to access abnomal folder.

    the other two folders are winxp setup folders.

    post-34326-1236866344_thumb.jpg

  10. :whistle:

    In fact nothing special, I just combine all know methods together, now descripe the key step.

    Revise setupldr find and replace ntdetect.com to wxp~1\nd.com, txtsetup.sif to wxp~1\ts.sif and bootfont.bin to wxp~1\ft.bin.

    Revise grldr find and replace menu.lst to wxp~1\me.

    Revise setupldr.bin and setupdd.sys rename $WIN_NT$.~LS and $WIN_NT$.~BT to $WINLS~1 and $WINBT~1 respectively.

    For starting windows for the first time from flash disk,

    Put ntldr to wxpe folder too, revise it, find and replace ntdetect.com to wxp~1\nd.com and boot.ini to wxp~1\b.i For this step, I think I have found a good way, no need to use binifix4.cmd, ntldr and boot.ini, just use grldr's dd command to revise boot.ini on the hard disk.

    For renaming normal directory to abnormal directory, use Smallfrogs Studio soft rename.exe.

    That is all.

  11. For fat32 I sure to put boot loader to other directory. Howere I do not want to try, because I found best way to solve the problem.

    Grldr.mbr as the single MBR and use grldr to install xp. All the necessary files are all in the abnormal directory which can't be deleted under windows by normal delete.

    I have succeeded!

    If you have interest I will give more details.

    Thanks to anyone here.

  12. thanks to cdob.

    I just revised the first found txtsetup.sif to \WXPE\xp.sif, that is OK!

    I know if I use grub4dos, only single file GRLDR left on the root, if I use syslinux, no file left on the root directory.

    ==

    I am still thinking of changing bootsecter file to change NT LOADER position.

    For NTFS's bootsecter is 8K and for the 5 letters limit you can't change it.

    For FAT32's bootsecter is 1K and the its last string is XPSTP, and I think it is possible to revise it to \WX\U, thus I can put setup loader XPSTP to WX folder.

  13. Usbmuitiboot_10 is good.

    But it leave many files on the root of USB drives. I want to make the root clean so I successfully hex edit NTLDR and put boot.ini to a directory named WXPE. Also I hex edit GRLDR and put menu.lst in WXPE too.

    I want to move the setup loader XATSP and XPSTP to WXPE too, but failed to hex edit XATSP.bs and XPSTP.bs. I just revised string "XATSP" and "XPSTP"in file XATSP.bs and XATSP.bs to \WXPE\XATSP and to \WXPE\XATSP respectively.

    I want to move NTDETECT.COM to WXPE directory too, failed too.

    Thanks to any reply.

  14. Sorry for making you confused.

    I am still thinking of the installing xp from usbcdrom and put I386 folder on a USB disk (not in an ISO image).

    What is the advantage compared with plain install xp from usb?

    Obviously, this way is simple. No need to run USB_MULTIBOOT_10, no need to revise NTLDR, no need to care USB drive type, no need to care drive letter shifting etc.

    Why I think of taking grub4dos as bootsecter because it can make ISO as HD I still suspect what the PROTECTION MODE has protected. As you know, the setup procedure in started from USBCDROM with grub4dos, only I386 folder on hd1 made by grub4dos.

    So much, sorry for not fully understanding the principle of FAKE DISK SIGNATURE METHOD.

  15. Thanks above.

    That is true I need to try.

    Here, I still wonder if I put I386 folder in one ISO and use grub4dos map it as HD1, does the PROTECTION MODE still work? Because I setup from real usbcdrom not an iso.

    Try to make it clear:

    The usbcdrom takes grub4dos as boot sector, the content is only xp files and folders which doesn't contain I386 folder. After booting grub4dos maps usb disk ISO which contains I386 folder as HD1, and then chainloader the boot sector file of XP setup cd.

  16. I am neary abondon the way of installing xp from USBCDROM derived from mass production tool.

    While USBCDROM still have a little advantage, auto run fuction. For some users they like MASS PRODUCING the usb disk again and again with different contents i.e. xp with different drivers.

    I hope, in USBCDROM, only minimized files & progs exist, and once mass produced then no need mass produced for ever.

    Here I hope to install XP this way: Only basic files for installing xp are on USBCDROM, such as file structure, i386\TXTSETUP.SIF, WIN51*.* etc. Certainly the USBCDROM has XP boot secter. There line such as:

    SETUPSOURCEPATH=\xxxx\

    SETUPSOURCEDEVICE= \device\harddisk1\partition1

    in the txtsetup.sif at where physicaldrive1 is usb removable or usb fixed drive.

    thanks for reply.

  17. Dizzy.

    I study registry enough, that I wrote a paper about registry searching in Chinese.

    I have no time to translate.

    http://bbs.wuyou.com/viewthread.php?tid=13...;extra=page%3D2

    In fact to detemine the signature belongs to which disk if more than one hard disk installed there is a better way:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\STORAGE\Volume\1&30a96598&0&SignatureA8E1B9D2Offset7E00LengthXXXXXXXX

    The key "driver",{71A27CDD-812A-11D0-BEC7-08002BE2092F}\0022,the last two number "22" tells the disk number. That is the driver value of disk 0 is smaller than that of disk 1, the latter is smaller than that of disk 2, etc.

    Under pe, no driver key exist.

  18. test again on another pc

    result without /v switch

    C: 0,0 IDE	  Fixed
    D: 0,1 IDE Fixed
    E: 0,2 IDE Fixed
    F: 0,3 IDE Fixed
    G: 0,4 IDE Fixed
    H: IDE CD-ROM
    I: 2,0 USB Removable
    J: Fixed
    K: Fixed
    M: Fixed

    Same result as previous test. J,K,L are usb hard disk drive letters, no USB type found.

    result with /v switch

    PHN=2,0
    Ph_Drive_Bus_0=IDE
    Ph_Drive_Bus_1=USB
    Ph_Drive_Bus_2=USB
    PH_drive_Letter_0_0=C:
    PH_drive_Letter_0_1=D:
    PH_drive_Letter_0_2=E:
    PH_drive_Letter_0_3=F:
    PH_drive_Letter_0_4=G:
    PH_drive_Letter_2_0=I:
    Ph_drive_PIP_2="7&21572299&0"
    Ph_drive_Sig_0=ca2319a4
    Ph_Drive_Type_0=Fixed
    Ph_Drive_Type_1=Fixed
    Ph_Drive_Type_2=Removable
    Drive_Bus_H=IDE
    Drive_Data=000000005C005C003F005C00530054004F005200410047004500230056006F006C007
    5006D006500230031002600330030006100390036003500390038002600300026005300690067006
    E0061007400750072006500320031003900450030004600430043004F00660066007300650074003
    900340037003500350044003800300030004C0065006E00670074006800430034003100330034003
    000300023007B00350033006600350036003300300064002D0062003600620066002D00310031006
    40030002D0039003400660032002D003000300061003000630039003100650066006200380062007
    D0000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000000000000000000000000000000000000000000000000000000000000000000
    00000000000000000005C005C003F005C0056006F006C0075006D0065007B0036003400620032003
    1006400620065002D0062006600350037002D0031003100640064002D0039003200340033002D003
    000300031003300320030003500370039003100340031007D005C0
    Drive_Letter_C=C
    Drive_Letter_D=D
    Drive_Letter_E=E
    Drive_Letter_F=F
    Drive_Letter_G=G
    Drive_Letter_H=H
    Drive_Letter_I=I
    Drive_Letter_J=J
    Drive_Letter_K=K
    Drive_Letter_M=M
    Drive_REF_C={317bb1be-bc5b-11dd-8642-806d6172696f}
    Drive_REF_D={317bb1bf-bc5b-11dd-8642-806d6172696f}
    Drive_REF_E={317bb1c0-bc5b-11dd-8642-806d6172696f}
    Drive_REF_F={317bb1c1-bc5b-11dd-8642-806d6172696f}
    Drive_REF_G={317bb1c2-bc5b-11dd-8642-806d6172696f}
    Drive_REF_H={2a4fb5f2-bf44-11dd-9240-806d6172696f}
    Drive_REF_I={5199df13-c010-11dd-9247-001320579141}
    Drive_REF_J={64b21dbc-bf57-11dd-9243-001320579141}
    Drive_REF_K={64b21dbd-bf57-11dd-9243-001320579141}
    Drive_REF_M={64b21dbe-bf57-11dd-9243-001320579141}
    Drive_Sig_C=ca2319a4
    Drive_Sig_D=ca2319a4
    Drive_Sig_E=ca2319a4
    Drive_Sig_F=ca2319a4
    Drive_Sig_G=ca2319a4
    Drive_Sig_J=219e0fcc
    Drive_Sig_K=219e0fcc
    Drive_Sig_M=219e0fcc
    Drive_Type_C=Fixed
    Drive_Type_D=Fixed
    Drive_Type_E=Fixed
    Drive_Type_F=Fixed
    Drive_Type_G=Fixed
    Drive_Type_H=CD-ROM
    Drive_Type_I=Removable
    Drive_Type_J=Fixed
    Drive_Type_K=Fixed
    Drive_Type_M=Fixed

    I have to point out, in order to have a good speed, use as less REQ QUERY in the FOR circle as possible.

    I am still checking your code.

  19. Well done.

    A:
    C: 0,0 IDE Fixed
    D: 0,1 IDE Fixed
    E: 0,2 IDE Fixed
    F: 0,3 IDE Fixed
    G: 0,4 IDE Fixed
    H: 0,5 IDE Fixed
    I: 0,6 IDE Fixed
    J: 0,7 IDE Fixed
    K: 0,8 IDE Fixed
    L: IDE CD-ROM
    M: Fixed
    N: 1,0 USB Removabl
    O: 3,0 USB Removabl
    P: 4,0 USB Removabl
    Q: 5,0 USB Removabl
    R: Fixed

    The result is correct.

    One problem is it doesn't tell where are USB hard disk drive letters type (M: R:). Only give FIXED drive letter.

    Addition: for winpe, sometimes no item under DISKPERIPHERAL, so no signature found.

    Anoter thing, this batch doesn't arrange drive letters according to volume order.

    I should further examine your code.

    thanks.

×
×
  • Create New...