วันพุธที่ 13 พฤษภาคม พ.ศ. 2558

ตัวติดตั้ง win7 , win8 แบบ Automount และสามารถใช้ Unattended (แบบใส่คีย์อัตโนมัติ) โดยใช้ FiraDisk ครับ

ตัวติดตั้ง win7 , win8 แบบ Automount และสามารถใช้ Unattended (แบบใส่คีย์อัตโนมัติ)
โดยใช้ FiraDisk ครับ
    มาเริ่มกันเลยครับ

โหลดเครื่องมือไปก่อนครับ (อัพเดท เพิ่มเมนู windows 8.1 แก้ไม่ต้องให้ถามว่าจะรีแพร์รึเปล่า)

https://mega.nz/#F!rdIRRKaI!6hItVWGysLi4v8H-2j77Og


ภาพนี้ได้ถูกเปลี่ยนขนาด ขนาดต้นฉบับคือ 806x632 ต้องการดูภาพเต็มขนาดคลิกที่นี่...


ถ้าชอบก็กดขอบคุณให้ด้วยนะครับ

ตัวอย่างคำสั่ง menu.lst (แสดงความคิดเห็นก่อนถึงจะเห็น)

timeout 15
default /0
gfxmenu /bootbackground

title Boot from 1st Hard Disk
map (hd0) (hd1)
map (hd1) (hd0)
chainloader (hd1,0)+1

title Install Windows 7 FiraDisk
debug off
set MYISO=Microsoft.Windows.7.SP1.AIO.2012.iso
dd if=()/firadisk/au.xml of=()/AutoUnattend.xml
dd if=()/firadisk/spaces.txt of=()/firadisk/ISO_7.CMD
write ()/firadisk/ISO_7.CMD SET MYISO=\\%MYISO%\r\n
map --mem (md)0x800+4 (99)
map /%MYISO% (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/%MYISO%;\n\0
chainloader (0xff)/BOOTMGR || chainloader (0xff)

title Install Windows 8 FiraDisk
debug off
set MYISO=W8_ENT_PRO_64_86_SRV2012_VL_AIO_EN-US.iso
dd if=()/firadisk/auWin8.xml of=()/AutoUnattend.xml
dd if=()/firadisk/spaces.txt of=()/firadisk/ISO_8.CMD
write ()/firadisk/ISO_8.CMD SET MYISO=\\%MYISO%\r\n
map --mem (md)0x800+4 (99)
map /%MYISO% (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/%MYISO%;\n\0
chainloader (0xff)/BOOTMGR || chainloader (0xff)

title Commandline
Commandline

title Reboot
reboot

title Shutdown
halt


ตั้งชื่อไฟล์ และวางไฟล์ไว้ที่เดียวกับคำสั่งก็ใช้ได้แล้วครับ


เฉลย

การพับกบ




 008 008  ล้อเล่นครับเริ่มเลยนะครับ

เมื่อโหลดมาแล้วรันไฟล์ Create Usb Boot.exe ตอบ Yes เพื่อเริ่มสร้างบูต ทำตามขั้นตอน ปิด tesboot ออกก่อน เสร็จแล้วเข้าไปที่ folder FiraDisk ไปแก้ไข ไฟล์ ตัวอย่าง ของ win7 ก็คือไฟล์ ISO_7.cmd ครับ

ตัวอย่าง แก้คำสั่งให้ตรงกับไฟล์และที่อยู่ของท่านให้ตรง แนะนำว่าอย่าเว้นวรรคนะครับ

SET MYISO=\Microsoft.Windows.7.SP1.AIO.2012.iso

ส่วน win8 ก็จะเป็น ไฟล์ชื่อ ISO_8.cmd

ตัวอย่าง แก้คำสั่งให้ตรงกับไฟล์และที่อยู่ของท่านให้ตรง แนะนำว่าอย่าเว้นวรรคนะครับ

SET MYISO=\W8_ENT_PRO_64_86_SRV2012_VL_AIO_EN-US.iso

ยกตัวอย่างมาจากคำสั่งนี้นะครับ

title Install Windows 7 FiraDisk
debug off
set MYISO=Microsoft.Windows.7.SP1.AIO.2012.iso
dd if=()/firadisk/au.xml of=()/AutoUnattend.xml
dd if=()/firadisk/spaces.txt of=()/firadisk/ISO_7.CMD
write ()/firadisk/ISO_7.CMD SET MYISO=\\%MYISO%\r\n
map --mem (md)0x800+4 (99)
map /%MYISO% (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/%MYISO%;\n\0
chainloader (0xff)/BOOTMGR || chainloader (0xff)

title Install Windows 8 FiraDisk
debug off
set MYISO=W8_ENT_PRO_64_86_SRV2012_VL_AIO_EN-US.iso
dd if=()/firadisk/auWin8.xml of=()/AutoUnattend.xml
dd if=()/firadisk/spaces.txt of=()/firadisk/ISO_8.CMD
write ()/firadisk/ISO_8.CMD SET MYISO=\\%MYISO%\r\n
map --mem (md)0x800+4 (99)
map /%MYISO% (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
write (99) [FiraDisk]\nStartOptions=cdrom,vmem=find:/%MYISO%;\n\0
chainloader (0xff)/BOOTMGR || chainloader (0xff)

ไฟล์ Choose_an_iso วางไว้ที่เดียวกับ ไฟล์ iso ของเรานะครับ

เลือกไฟล์ iso ของท่านแล้ว คลิ้กขวา sendto ไปที่ USB ของท่าน



การติดตั้ง ก็จะมีให้เลือก Y/N ให้ตอบ N แล้วติดตั้งตามปกติได้เลยครับ

--------------------------------------------------------------------------------------------------

วิธีทำแบบข้ามขั้นตอนการถามว่าจะ repair (Y/N) รึเปล่า

นำคำสั่งนี้ไปใส่  ไฟล์ LOADISO.CMD  ใน FiraDisk ครับ

TITLE LOADISO.CMD
color 1f
@echo off
cls
SET BIT=32
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" SET BIT=64

echo LOADISO.CMD running...
if "%BIT%"=="32" \firadisk\slp.exe 5
if "%BIT%"=="64" type x:\windows\system32\shell32.dll > nul
if "%BIT%"=="64" type x:\windows\system32\shell32.dll > nul
if "%BIT%"=="64" type x:\windows\system32\shell32.dll > nul
if "%BIT%"=="64" type x:\windows\system32\shell32.dll > nul
if "%BIT%"=="64" type x:\windows\system32\shell32.dll > nul

SET USBDRIVE=
FOR %%i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %%i:\FIRADISK\LOADISO.CMD SET USBDRIVE=%%i:
cls


REM CHECKS!

If "%USBDRIVE%"=="" (echo FIRADISK\LOADISO.CMD NOT FOUND ON ANY DRIVE!) & goto :MYEND

IF "%BIT%"=="32" (
if not exist %USBDRIVE%\Firadisk\firadisk.inf (echo FIRADISK\FIRADISK.INF NOT FOUND ON %USBDRIVE%!) & goto :MYEND
if not exist %USBDRIVE%\Firadisk\firadisk.sys (echo FIRADISK\FIRADISK.SYS NOT FOUND ON %USBDRIVE%!) & goto :MYEND
if not exist %USBDRIVE%\Firadisk\i386\devcon.exe (echo FIRADISK\i386\DEVCON.EXE NOT FOUND ON %USBDRIVE%!) & goto :MYEND
)

IF "%BIT%"=="64" (
if not exist %USBDRIVE%\Firadisk\firadisk.inf (echo FIRADISK\FIRADI64.INF NOT FOUND ON %USBDRIVE%!) & goto :MYEND
if not exist %USBDRIVE%\Firadisk\firadisk.sys (echo FIRADISK\FIRADISK.SYS NOT FOUND ON %USBDRIVE%!) & goto :MYEND
if not exist %USBDRIVE%\Firadisk\ia64\devcon64.exe (echo FIRADISK\ia64\DEVCON64.EXE NOT FOUND ON %USBDRIVE%!) & goto :MYEND
)


@echo FOUND USB DRIVE AT DRIVE %USBDRIVE%
cd /d %USBDRIVE%\
TITLE LOAD WINDOWS ISO USING FIRADISK
color 1f

REM Load driver
if "%BIT%"=="64" \firadisk\ia64\devcon64  install \firadisk\firadisk.inf   root\firadisk
if "%BIT%"=="32" \firadisk\i386\devcon    install \firadisk\firadisk.inf   root\firadisk




REM The driver takes a few seconds to load the ISO file
echo Waiting until ISO is loaded...
if "%BIT%"=="32" \firadisk\slp.exe 5
if "%BIT%"=="64" type x:\windows\system32\shell32.dll > nul
if "%BIT%"=="64" type x:\windows\system32\shell32.dll > nul
if "%BIT%"=="64" type x:\windows\system32\shell32.dll > nul

SET USBDRIVE=
FOR %%i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %%i:\SOURCES\INSTALL.WIM SET USBDRIVE=%%i:

IF "%BIT%%USBDRIVE%"=="32" \firadisk\slp.exe 5
IF "%BIT%%USBDRIVE%"=="64"  type x:\windows\system32\shell32.dll > nul


IF NOT "%USBDRIVE%"=="" goto :skipimdsk
REM Load ISO using ImDisk
call \firadisk\IMDISK_install.cmd
call \firadisk\IMDISK_instiso.cmd
:skipimdsk


IF "%USBDRIVE%"=="" FOR %%i IN (C D E F G H I J K L N M O P Q R S T U V W X Y Z) DO IF EXIST %%i:\SOURCES\INSTALL.WIM SET USBDRIVE=%%i:

IF "%USBDRIVE%"=="" echo WARNING: \SOURCES\INSTALL.WIM not found!
IF NOT "%USBDRIVE%"=="" echo FOUND %USBDRIVE%\SOURCES\INSTALL.WIM
if "%BIT%"=="32" \firadisk\slp.exe 2
if "%BIT%"=="64" type x:\windows\system32\shell32.dll > nul

exit

:MYEND
@echo.

ส่วนการทำให้ใช้ Unattended (แบบใส่คีย์อัตโนมัติ)

ก็ไปแก้ไขที่ไฟล์ auWin8.xml (สำหรับ Win8)  au.xml (สำหรับ Win7)  แก้แค่ตรงส่วนนี้ก็พอครับ ครับ

 <Organization>Comp Professional</Organization>
        <FullName>Ejimatsu</FullName>

ส่วน Win8 จะต้องใส่คีย์ให้ใส่ตรงช่อง

<ProductKey>
               <Key>ใส่คีย์ของ Win8</Key>
               <WillShowUI>OnError</WillShowUI>
            </ProductKey>

ไม่รู้จะเข้าใจกันรึเปล่านะครับ ลองๆไปศึกษาดูครับ ตอนแรกผมก็งงๆ ไม่เข้าใจทำไม่ผ่านสักที คือใส่แต่คำสั่งใน menu.lst ให้ตรง แต่ก็ไม่สำเร็จเลยมาดูคำสั่ง Win8 กับ Win7 ใช้คำสั่งตรงช่องนี้

dd if=()/firadisk/spaces.txt of=()/firadisk/ISO_7.CMD
write ()/firadisk/ISO_7.CMD SET MYISO=\\%MYISO%\r\n


ไม่เหมือกันเลยเข้าไปดูคำสั่งข้างใน เลยออ... ต้องแก้ตรงนี้ด้วยนี่ มิน่าหล่ะ ไม่ผ่าน ลงทำอีกรอบ เย้ !! ผ่านแล้ว

มีอีกวิธีมาแนะนำสำหรับ Extranal HDD ที่ถามหา Driver

ภาพนี้ได้ถูกเปลี่ยนขนาด ขนาดต้นฉบับคือ 800x600 ต้องการดูภาพเต็มขนาดคลิกที่นี่...


โดยใช้คำสั่งบูต ที่สอง Shift+F10

timeout 15
default /1
gfxmenu /GFX-BOOT.GFX

#title
root ()

title Boot from 1st Hard Disk\nBoot from MBR of first hard disk and remove the USB drive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader (hd1,0)+1

title Install Windows XP\nWhen Setup loads - type F6
root (hd0,0)
configfile /xp.lst

title Install Windows 7 type SHIFT+F10\n
find --set-root /Microsoft.Windows.7.SP1.AIO.2012.iso
map /Microsoft.Windows.7.SP1.AIO.2012.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (0xff)

title Install windows 8 type SHIFT+F10\n
find --set-root /W8_ENT_PRO_64_86_SRV2012_VL_AIO_EN-US.iso
map /W8_ENT_PRO_64_86_SRV2012_VL_AIO_EN-US.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (0xff)

title Install windows 8.1 type SHIFT+F10\n
find --set-root /Windows-8.1-Build-9600-AIO-8in1-x86x64.iso
map /Windows-8.1-Build-9600-AIO-8in1-x86x64.iso (0xff)
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
chainloader (0xff)

title Main Menu Boot
root (hd0,0)
configfile /menu.lst

ให้สร้างไฟล์ใหม่หรือแก้ไขไฟล์เดิมใน imdisk ตัวอย่างไฟล์ 81.cmd

แล้วแก้ไขคำสั่งที่อยูของอิมเมจของเรา ตัวอย่างคือ Windows-8.1-Build-9600-AIO-8in1-x86x64.iso  คำสั่งก็คือ

@ECHO OFF
CLS
FOR %%i IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\nul (
IF EXIST %%i:\imdisk\imdisk.inf IF EXIST %%i:\imdisk\setupcdrom.cmd IF EXIST %%i:\imdisk\setupimdisk.cmd IF EXIST %%i:\Windows-8.1-Build-9600-AIO-8in1-x86x64.iso (
color 97
echo Found necessary files on %%i:\>>%SystemDrive%\mntdrv.txt
pushd %%i:\imdisk
echo Setting um ImDisk>>%SystemDrive%\mntdrv.txt
setupimdisk.cmd>>%SystemDrive%\mntdrv.txt
echo Setting up virtual CD/DVD drive, mounting image>>%SystemDrive%\mntdrv.txt
setupcdrom.cmd %%i:\Windows-8.1-Build-9600-AIO-8in1-x86x64.iso>>%SystemDrive%\mntdrv.txt
)
)

บูต USB เมื่อบูตมาถึงหน้าติดตั้งอย่าเพิ่งกด Next



ให้กด  Shift+F10 แล้วพิมพ์หาไดร์วของ Extranal HDD หาที่อยู่ของ folder ที่ชื่อว่า imdisk  ตัวอย่าง

B: กด ENTER (ถ้าไม่แน่ใจว่าใช่ไดร์ว ของ Extranal HDD รึเปล่า ให้พิมพ์ dir กด ENTER เพื่อดูทั้งหมด เมื่อแน่ใจว่าถูกไดร์วแล้ว)

พิมพ์ cd imdisk  กด ENTER

แล้วพิมพ์ชื่อไฟล์ 81.cmd ที่ต้องการติดตั้ง โดยไม่ต้องใส่นามสกุล กด ENTER
ก็จะนำการจำลองไดร์วให้เองอัตโนมัติ เสร็จแล้วพิมพ์ exit กด ENTER เพื่ออกจากหน้านี้

ก็ทำการติดตั้งตามปกติได้เลย  โดยที่ไม่ถามหา Driver



ขอบคุณเว็บ http://www.rmprepusb.tk  ,  http://www.rmprepusb.com/tutorials/firawiniso

ทำให้ผมบรรลุซะที

และขอบคุณทุกท่านที่ติดตามผลงานของผมมาตลอด ไว้มีอะไรใหม่ๆจะมาจะนำเสนออีกครับ