Jump to content











Photo
- - - - -

The mistery of Windows 7 install required CD/DVD


  • Please log in to reply
189 replies to this topic

#76 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 02 March 2011 - 10:05 PM

That's not fair, you are cheating! :confused1:

#77 saddlejib

saddlejib

    Frequent Member

  • Advanced user
  • 266 posts
  •  
    United Kingdom

Posted 02 March 2011 - 10:19 PM

Theres no cheating here just lack of definition.
G4d is an excellent boot animal but doesnt 'mount', 'assign' what it creates therefore the need for different solutions or if it does they cant be 'seen' by the .iso in question.
So the Question I have is it possible to do a 'write' somewhere by g4d to make the .iso as real as X;\Sources ?
im no guru as you can tell, that's for you guys. Then this problem would be Truly overcome.
Or am i talking out of my depth?

#78 steve6375

steve6375

    Platinum Member

  • Developer
  • 5,183 posts
  • Location:UK
  • Interests:computers (!), programming (masm,vb6,C,vbs), OSes, photography,TV,films,guitars
  •  
    United Kingdom

Posted 02 March 2011 - 10:32 PM

OK - tutorial is done (OK 1-2-3 is a bit of a cheat, but 1-2-3-4 didn't sound quite so good!)


http://sites.google....iskautounattend

#79 steve6375

steve6375

    Platinum Member

  • Developer
  • 5,183 posts
  • Location:UK
  • Interests:computers (!), programming (masm,vb6,C,vbs), OSes, photography,TV,films,guitars
  •  
    United Kingdom

Posted 02 March 2011 - 11:03 PM

@Ilko

I am booting small ISO containing only bootmgr, BOOT folder and SOURCES with only boot.wim inside to start the Setup, with Autounattend.xml in root of the USB disk invoking AutoIt program which loads imdisk stuff. Setup finds and uses the imdisk mounted large ISO.


I don't get it :confused1: - are you making the small ISO yourself?? If so why not just modify the boot.wim (windows\system32\startnet.cmd or winpeshl.ini) to run what you want automatically when it boots? Why do you need Autounattend.xml at all. You can run a 32-bit or 64-bit by using different bcd file (bcd and bc1 for instance - which can boot either \sources\boot.wim or \sources\boot1.wim one of which could be 64-bit).
Then run AutoIt program to access any WIM file you like (why mount a large ISO when you can just have the install.wim files in different folders)?

#80 saddlejib

saddlejib

    Frequent Member

  • Advanced user
  • 266 posts
  •  
    United Kingdom

Posted 02 March 2011 - 11:05 PM

Really like the How it Works section a little bit of insight goes a long way.
Thanks
The Question still is as my post above, I do appreciate that g4d is a boot animal (meaning it does what its designed for) but do you or others feel theres a way for Installs like this to see the .iso's as indeed Boot.wim can see X:\Sources ?? lots of questions, no answers as of yet.
It would be the Ultimate Solution.

Edited by saddlejib, 02 March 2011 - 11:11 PM.


#81 steve6375

steve6375

    Platinum Member

  • Developer
  • 5,183 posts
  • Location:UK
  • Interests:computers (!), programming (masm,vb6,C,vbs), OSes, photography,TV,films,guitars
  •  
    United Kingdom

Posted 02 March 2011 - 11:10 PM

It would be the Ultimate Solution>Really like the How it Works section a little bit of insight goes a long way.
Thanks
The Question still is as my post above, I do appreciate that g4d is a boot animal but do you or others feel theres a way for Installs like this to see the .iso's as indeed Boot.wim can see X:\Sources ?? lots of questions, no answers as of yet.
It would be the Ultimate Solution.

Sorry, I don't understand the Q??? Can you explain what you mean a little better?

#82 saddlejib

saddlejib

    Frequent Member

  • Advanced user
  • 266 posts
  •  
    United Kingdom

Posted 02 March 2011 - 11:24 PM

I guess what im saying is that g4d does its job and loads the first stage but then the .iso is lost so youve used imdisk to 'mount' it as I also used diskpart to 'mount' the .vhd second stage.
So taking into account that boot.wim loads into ram and then can see itself i.e X:\Sources and the other "real" drives but cannot see the .iso protected mode,
Cannot the system be fooled into thinking this is a Real drive by a g4d 'write' at the relevant place in memory.

Or the g4d .iso is only as virtual as Imdisk or diskparts .vhd by its very nature.

Or they are all virtual three can be 'seen' (boot.wim, Imdisks mounted iso or diskparts .vhd) but the one you really want cant

Or the rest mount and assign but g4d boots

Edited by saddlejib, 02 March 2011 - 11:47 PM.


#83 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 03 March 2011 - 03:38 AM

@IlkoI don't get it :confused1: - are you making the small ISO yourself?? If so why not just modify the boot.wim (windows\system32\startnet.cmd or winpeshl.ini) to run what you want automatically when it boots? Why do you need Autounattend.xml at all. You can run a 32-bit or 64-bit by using different bcd file (bcd and bc1 for instance - which can boot either \sources\boot.wim or \sources\boot1.wim one of which could be 64-bit).Then run AutoIt program to access any WIM file you like (why mount a large ISO when you can just have the install.wim files in different folders)?

I'd like to avoid WAIK/dism at any cost, for number of reasons. 7-zip does create wim files in latest version, although not compressed, but they are not bootable by bootmgr. 7-zip author won't go any further for now in wim direction and add boot support:
http://sourceforge.n...7/topic/4072972

Do you know any other way to edit wim files without WAIK(files)/dism? I couldn't find any, not at least using redistributable and/or freeware software.

#84 steve6375

steve6375

    Platinum Member

  • Developer
  • 5,183 posts
  • Location:UK
  • Interests:computers (!), programming (masm,vb6,C,vbs), OSes, photography,TV,films,guitars
  •  
    United Kingdom

Posted 03 March 2011 - 07:46 AM

Do you know any other way to edit wim files without WAIK(files)/dism? I couldn't find any, not at least using redistributable and/or freeware software.

GImageX is one which uses AutoIt. AutoIT also has source code for using the WinGapi.Dll so you can always roll your own, the code is quite good and you just have to call Apply or Capture routines. Alternatively SmartWim SDK from SmartDeploy have a package so you can roll your own (either vb6 or vbs/hta will both run under WinPE without needing .Net). Also there is another command line one whose name escapes me for the moment (never used it) but it was mentioned in this forum several times.

MS do not allow ImageX to be distributed, but wimgapi.dll is already in all versions of Vista and Win7 - so if the OS you are installing is either of these (and is licensed) then you can use it.

I use ImageX and also Disk to mount/edit/unmount wim files. For distribution I use both my own vb6 apps using SmartWim or an hta app using SmartWim. The advantage of using vbs/hta is that vb6 does not support 64-bit OS's.


I would suggest you look at AutoIT GImageX project and steal the code from that to roll your own ImageX?
HTH

#85 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 03 March 2011 - 08:24 AM

It's also wimmount.sys which have to be installed, isn't it? I'd like to avoid that, don't want to install any additional software or driver.

The only external and free/redistributable program which does not rely on any of the MS wim related files and can extract and create wim files I've found is 7-zip, but it has limitations as mentioned. Hence I prefer Autounattend.xml or similar method to achieve multiple Vista/7/Server 2008 installs from USB, preferably from the original, unmodified ISO.

Back on topic. Have you tried if on the ISO mounted there is answer file whether it's cached and used for the other passes after first reboot? Say after first reboot ISO is not mounted currently, but it may contain an answer file with settings for oobeSystem pass.

Another possible issue, would Setup find and use Autounattend.xml on USB fixed disk, has anyone tried?

#86 davlak

davlak

    Frequent Member

  • Advanced user
  • 224 posts
  •  
    Italy

Posted 03 March 2011 - 08:48 AM

in win7 gimagex works as stand-alone. doesn't need to install anything.

#87 davlak

davlak

    Frequent Member

  • Advanced user
  • 224 posts
  •  
    Italy

Posted 03 March 2011 - 09:48 AM

Another possible issue, would Setup find and use Autounattend.xml on USB fixed disk, has anyone tried?

You're right.
at least in my case, it doesn't find it.

#88 steve6375

steve6375

    Platinum Member

  • Developer
  • 5,183 posts
  • Location:UK
  • Interests:computers (!), programming (masm,vb6,C,vbs), OSes, photography,TV,films,guitars
  •  
    United Kingdom

Posted 03 March 2011 - 10:01 AM

Back on topic. Have you tried if on the ISO mounted there is answer file whether it's cached and used for the other passes after first reboot? Say after first reboot ISO is not mounted currently, but it may contain an answer file with settings for oobeSystem pass.

Another possible issue, would Setup find and use Autounattend.xml on USB fixed disk, has anyone tried?

I haven't tried this, but Setup should copy any unattend it finds to \windows\panther as a cached file. see http://technet.micro...c749415(v=ws.10).aspx which explains what happens.

If the USB hard disk is a 'removable' disk then it should pick up AutoUnattend. If it does not, try also having a copy named \Unattend.xml

The other approach is to modify each boot.wim to run Setup with a /unattend:filename command line (see my tutorial #2.

#89 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 10,428 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 03 March 2011 - 10:16 AM

Do you know any other way to edit wim files without WAIK(files)/dism? I couldn't find any, not at least using redistributable and/or freeware software.

See if this thingy fits:
http://nativeex.boot...x/WimCaptEx.htm
http://reboot.pro/9765/

@streve6375
Did you check the few lines batch in post #72?
I would like to understand if it is that what you what/need as I am not yet sure to have understood the basic requirement. :mellow:

:cheers:
Wonko

#90 steve6375

steve6375

    Platinum Member

  • Developer
  • 5,183 posts
  • Location:UK
  • Interests:computers (!), programming (masm,vb6,C,vbs), OSes, photography,TV,films,guitars
  •  
    United Kingdom

Posted 03 March 2011 - 11:01 AM

@streve6375
Did you check the few lines batch in post #72?
I would like to understand if it is that what you what/need as I am not yet sure to have understood the basic requirement. :mellow:

Yes thanks - but this works by searching for the #SET string - so the user need to select the correct ISO from a grub4dos menu once and then select it again from WinPE ???? - I would rather the user just selects it one time from the grub4dos menu.

#91 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 10,428 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 03 March 2011 - 11:41 AM

Yes thanks - but this works by searching for the #SET string - so the user need to select the correct ISO from a grub4dos menu once and then select it again from WinPE ???? - I would rather the user just selects it one time from the grub4dos menu.


As an example we can write FIRST line of menu.lst with an adequate (say 100) "#"
Like:
########################################################################################################

color black/cyan yellow/cyan

timeout 30

default /default



title Install Windows 7 64-bit Enterprise Edition\nChoose same ISO again when prompted during Windows SetUp

find --set-root /iso/en_windows_7_enterprise_with_sp1_x64_dvd_620201.iso

write ()/menu.lst ########################################################################################################

write ()/menu.lst --offset=1 SET MYISO=/iso/en_windows_7_enterprise_with_sp1_x64_dvd_620201.iso\r\n

map /iso/en_windows_7_enterprise_with_sp1_x64_dvd_620201.iso (0xff)

map (hd0) (hd1)

map (hd1) (hd0)

map --hook

chainloader (0xff)

And use the "simple" approach:
@ECHO off

FOR /F "tokens=2 delims==" %%A IN ('type menu.lst^|FIND "#SET MYISO"') DO ECHO SET MYISO=%%A

:mellow:
Wonko

#92 steve6375

steve6375

    Platinum Member

  • Developer
  • 5,183 posts
  • Location:UK
  • Interests:computers (!), programming (masm,vb6,C,vbs), OSes, photography,TV,films,guitars
  •  
    United Kingdom

Posted 03 March 2011 - 12:00 PM

If it works then it would save two files, but it could corrupt the user's menu.lst if they changed the first line or had a long path and filename :mellow: . I used a cr.txt file to avoid the user mistyping anything in the menu.lst (and the cr.txt and myiso.cmd files are now in the \imdisk folder to hide them away better).
I am happy with what I have got now.
Thanks

#93 davlak

davlak

    Frequent Member

  • Advanced user
  • 224 posts
  •  
    Italy

Posted 03 March 2011 - 01:35 PM

I must admit that at this point I'm lost.
2 questions:

1. did anyone succeed into load AutoUnattend.xml (or Unattend.xml) in the usb root? (I did not)
2. could have any sense \ or is it possible to make g4d writing in the AutoUnattend.xml?

#94 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 10,428 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 03 March 2011 - 01:42 PM

If it works then it would save two files, but it could corrupt the user's menu.lst if they changed the first line or had a long path and filename :mellow: .


Sure. :w00t:

Posted Image

;)

An alternate way would be to make use of the default file, but again if user fiddles with it there is NO way out. :cheers:

Yet another way would be to use the menu.lst "as is" with a meaningful innuendo, like:

#0 DON'T EVEN THINK TO MODIFY THIS LINE! DO NOT INSERT ANY LINE BEFORE THIS ONE!

color black/cyan yellow/cyan


timeout 30
default /default

title Install Windows 7 64-bit Enterprise Edition\nChoose same ISO again when prompted during Windows SetUp
find --set-root /iso/en_windows_7_enterprise_with_sp1_x64_dvd_620201.iso
write ()/menu.lst #1
map /iso/en_windows_7_enterprise_with_sp1_x64_dvd_620201.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (0xff)

title Install something else via iso
find --set-root /iso/something else.iso
write ()/menu.lst #2
map /iso/something else.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (0xff)


And a batch like:
@ECHO off

SETLOCAL ENABLEDELAYEDEXPANSION

SET /A Counter=0

ECHO.

FOR /F "tokens=1 delims= " %%A IN ('type menu.lst^|FIND "DON'T EVEN THINK TO MODIFY THIS LINE!"') DO SET Item=%%A

SET Item

IF %Item%.==#0. ECHO A suffusion of yellow& GOTO :EOF

FOR /F "tokens=1 delims=[] " %%A in ('FIND /N "write ()/menu.lst %Item%" menu.lst') DO SET Item_offset=%%A

FOR /F "tokens=1 delims=(" %%A IN ('MORE +%Item_offset% menu.lst^|FIND "map /"') DO SET Line=%%A&GOTO :Out_of_FOR

:Out_of_FOR

ECHO SET MYISO=%Line:~3,100%


:cheers:
Wonko

#95 steve6375

steve6375

    Platinum Member

  • Developer
  • 5,183 posts
  • Location:UK
  • Interests:computers (!), programming (masm,vb6,C,vbs), OSes, photography,TV,films,guitars
  •  
    United Kingdom

Posted 03 March 2011 - 03:00 PM

:mellow: I admire your cunning, dedication and script skills! Now if only you could get rid of the need to number each entry...
honestly, I don't intend to spend the time modifying my scripts just to save cutting and pasting the ISO filename in twice rather than just once and then adding a unique #number - but thanks for the idea - very clever!

P.S. minor correction

SET MYISO=%Line:~4,100%

or get a leading space.

#96 steve6375

steve6375

    Platinum Member

  • Developer
  • 5,183 posts
  • Location:UK
  • Interests:computers (!), programming (masm,vb6,C,vbs), OSes, photography,TV,films,guitars
  •  
    United Kingdom

Posted 03 March 2011 - 03:08 PM

I must admit that at this point I'm lost.
2 questions:

1. did anyone succeed into load AutoUnattend.xml (or Unattend.xml) in the usb root? (I did not)

2. could have any sense \ or is it possible to make g4d writing in the AutoUnattend.xml?



1. On a USB Flash drive - yes - see Tutorial #32 on RMPrepUSB site - it works a treat!

2. Don't see why not - you could overwrite a 'blank' file with any other file using dd for instance.

#97 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 10,428 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 03 March 2011 - 03:25 PM

honestly, I don't intend to spend the time modifying my scripts just to save cutting and pasting the ISO filename in twice rather than just once and then adding a unique #number - but thanks for the idea - very clever!

In Tuscany there is a proverb:
[Italian]

Non ha il palio se non chi corre

[/Italian]

Which translates very roughly to:

The prize can be won only by those that race for it.


:mellow:

As said if you use an "orthodox" menu.lst (including the savedefault command as last one of each entry) we could use the "default" file to identify the entry that was chosen, and then parse the menu.lst to get the .iso filename.

:cheers:
Wonko

#98 davlak

davlak

    Frequent Member

  • Advanced user
  • 224 posts
  •  
    Italy

Posted 03 March 2011 - 05:35 PM

1. On a USB Flash drive - yes - see Tutorial #32 on RMPrepUSB site - it works a treat!


I swear that I've already followed that tutorial but no way to go on the autounattend.xml
that step is totally ignored in my case, both on USB-HD and on pendrive.
I've controlled hundred times all the steps and it simply don't work in my case. :whistling:

#99 steve6375

steve6375

    Platinum Member

  • Developer
  • 5,183 posts
  • Location:UK
  • Interests:computers (!), programming (masm,vb6,C,vbs), OSes, photography,TV,films,guitars
  •  
    United Kingdom

Posted 03 March 2011 - 05:37 PM

using a standard MS Win 7 install DVD???
[Edit] and a Removable USB drive (appears as Removable in WIndows Explorer ??{/Edit]

To test, just include \Autounattend.xml in the root and boot from the ISO (even a real DVD) - you should see some error when Autounattend runs...

S

#100 ilko

ilko

    Frequent Member

  • Advanced user
  • 487 posts
  •  
    Bulgaria

Posted 03 March 2011 - 05:50 PM

in win7 gimagex works as stand-alone. doesn't need to install anything.

I also need 2000/XP compatibility. Another issue would be if the manipulated source is x64, but is being manipulated on 32 bit system. Files in the source (dism, whatever) are not usable.


See if this thingy fits:
http://nativeex.boot...x/WimCaptEx.htm
http://reboot.pro/9765/

No, it does not, still requires MS wim related files. To put it other way around- there is number of third party tools which can manipulate wim files, but all they are just "wrappers" of the MS files. The only one I've came across which is standalone and does not need any of the MS wim files is 7-zip, but with its limitations.

I swear that I've already followed that tutorial but no way to go on the autounattend.xml
that step is totally ignored in my case, both on USB-HD and on pendrive.
I've controlled hundred times all the steps and it simply don't work in my case. :whistling:

Is the USB stick fixed or removable? What does ListUSBDrives report?
Once in PE stage is the USB stick visible? Try shift+F10, diskpart and "list vol" and "list disk", is it there?




2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users