robekia, on Nov 8 2009, 01:05 AM, said:
@jaclaz
.....
5 - I tested the windows setup using the "AsusEee" and i successfully got Drive U:
6 - When i tried the same for "Acer5738" unfortunately, i got drive D:
What you think?
jaclaz, on Nov 6 2009, 06:39 PM, said:
However the Acer5738 appears as troublemaker.

It seems like the SD card gets two Parent Id's.

The Migrate.inf (rightly) gets 7&d7f206a&0.
This ParentIdPrefix is "understood" by the "AsusEee" rightly, but evidently NOT by the "Acer5738".
My guess is that it's something BIOS related.
Or maybe the "Acer5738" uses a different way to enumerate devices.
What happens, once the XP - one way or the other - is installed on the "Acer5738"?
What ParentIdPrefix does the SD card gets on the "Acer5738" already running XP?
Still the same 7&d7f206a&0 ?
Use this "updated" batch:
@ECHO OFF
::migrate2txt.cmd rudimental batch to extract ParentIdPrefix from migrate.inf file
::by jaclaz ALPHA 0.02 Release 7th November 2009
::supports both "removable" and "fixed" devices
SETLOCAL ENABLEDELAYEDEXPANSION
SETLOCAL ENABLEEXTENSIONS
SET TEXT=
SET SOURCE=%1
IF %SOURCE%.==. SET SOURCE=%~dp0MIGRATE.INF&SET CLeanSource=MIGRATE.INF
IF NOT defined CleanSource SET CLeanSource=%~nx1
IF /I NOT "%CLeanSource%"=="MIGRATE.INF" GOTO :MIA
FOR /F "tokens=* delims=" %%A IN ('MORE %SOURCE%^|FIND ",00,"') DO (
SET UNICODE=%%A
)
SET UNICODE
ECHO.
SET SPACESUNICODE=%UNICODE:,= %
FOR %%? IN (%SPACESUNICODE%) DO (
IF NOT %%?.==00. (
CALL :bin2txt %%?
SET /P Var=!s!<NUL
SET TEXT=!TEXT!!s!
)
)
CLS
SET UNICODE
ECHO.
SET TEXT="%TEXT:@=&%"
SET TEXT=%TEXT:§=?%
SET BEGIN=%UNICODE:~0,8%
IF NOT "%BEGIN%"=="5C,00,3F" GOTO :Fixed
SET TEXT
ECHO.
SET Prefix="\??\STORAGE#RemovableMedia#"
SET BEGIN=%TEXT:~0,28%"
IF %BEGIN%==%Prefix% SET ParentIdPrefix="%TEXT:~28,11%"
SET ParentIdPrefix&GOTO :EOF
:Fixed
SET DiskSignature="%UNICODE:~0,2%%UNICODE:~3,2%%UNICODE:~6,2%%UNICODE:~9,2%"
SET DiskSignature
ECHO (as seen in a hex editor viewing the MBR)
GOTO :EOF
:bin2txt
Set s=%1
For %%A In (
23# 26@ 2D- 300 311 322 333 344 355 366 377 388 399
3A: 3B; 3D= 3F§ 41A 42B 43C 44D 45E 46F 47G 48H 49I
4AJ 4BK 4CL 4DM 4EN 4FO 50P 51Q 52R 53S 54T 55U 56V
57W 58X 59Y 5AZ 5B[ 5C\ 5D] 5F_ 61a 62b 63c 64d 65e
66f 67g 68h 69i 6Aj 6Bk 6Cl 6Dm 6En 6Fo 70p 71q 72r
73s 74t 75u 76v 77w 78x 79y 7Az 7B{ 7D}
) Do Call :DoPairs %%A
GOTO :EOF
:DoPairs
Set _=%1
Call Set s=%%s:%_:~0,2%=%_:~2,4%%%
Goto :EOF
:MIA
ECHO File MIGRATE.INF not found!
GOTO :EOF
Is the SD card partitioned, right?
If the "Acer5738" thinks that the SD card is a "Fixed" Hard Disk, INSTEAD of ParentIdPrefix it will use Disk Signature in the MBR to identify it.
It costs nothing to try adding to MIGRATE.INF a mapping for the Disk Signature as "V:\" and see what happens.
Read the thread that "started it all":
http://www.911cd.net...showtopic=19663
Add to MIGRATE.INF these lines:
HKLM,"SYSTEM\MountedDevices","\DosDevices\V:",0x00030001,\
ww,xx,yy,zz,00,7E,00,00,00,00,00,00
Replacing the ww,xx,yy,zz values with the ones you can get by peeking with a hex/disk editor in the MBR or using a tool like MBRfix to read the SD card signature.
jaclaz