نصب و بوت ویندوز XP روی ایمیج VHD
با اومدن ویندوزهای جدید دلیلی برای نصب ویندوز رو به مرگ XP وجود نداره.اما گاهی ممکنه شما به نرم افزار یا بازی نیاز پیدا کنید که قدیمیه و فقط روی XP جواب میده.
البته در اینحالت نصب XP Mode روی ویندوز ۷ به بعد راه خوبیه اما به هر دلیل ممکنه بخواید مستقیما از XP استفاده کنید.اختصاص دادن یه پارتیشن مجزا و مسایل و مشکلات بوت دوگانه
اونهم برای استفاده محدود از ویندوز XP عاقلانه نیست.
میشه ویندوز رو روی تنها یک فایل نصب و بوت کرد.تفاوت این روش با ماشین مجازی در اینه که شما به طور کامل به سخت افزار حقیقی سیستمتون دسترسی دارید و با performance کامل ازش استفاده میکنید.
حتی این امکان هست که ویندوز نصب شده رو به طور کامل به حافظه ram کپی و از روی ram اجرا کرد.(حتی میشه اون رو به هارد اکسترنال منتقل و حتی به صورت universal اونو بوت کرد یعنی روی گستره وسیعی از سخت افزارها و کامپیوترهای دیگه به صورت پرتابل بوت بشه)
ایمیج VHD یه فرمت فایله که مایکروسافت اون رو تعریف کرده و در حقیقت یه هارد مجازی رو شبیه سازی میکنه.در ویندوزهای ۷ به بعد از طریق ابزار Disk Management موجود در کنترل پنل(Administrative tools) میشه
ایمیجهای VHD رو ایجاد کرد و با امکان Attach و Detach اونها رو پارتیشن بندی و فرمت و از اونها استفاده کرد.البته ابزارهای زیاد دیگه ای برای ایجاد و مدیریت اینگونه ایمیجها وجود داره.نرم افزار خط فرمانی vhdtool که محصول مایکروسافته در یه چشم بهم زدن ایمیج vhd رو تولید میکنه.
من ویندوز ۸.۱ رو تو یه پارتیشن ۳۵ گیگابایتی نصب دارم و نصف پارتیشن خالیه.یه ایمیج vhd با خجم ۷ گیگابایت ایجاد میکنم و اون با استفاده از نرم افزار
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دیفرگ میکنم(دیفرگ بودن ایمیج الزامیه).سپس اونو با روشی که گفتم پارتیشن بندی میکنم(فقط یک پارتیشن ntfs ایجاد کنید)
ایمیج iso ویندوز xp رو روی یه پارتیشن هارد کپی میکنم.اگر شما ram کافی دارید نیازی به دیفرگ کردن فایل iso ویندوز xp ندارید البته بهتره اون رو هم دیفرگ کنید.حتما از ویندوز xp ویرایش student که درایورهای آماده داره استفاده کنید.از این به بعد فرض میکنم شما ۲ گیگ رم دارید.(البته الزامی نیست)
به یه بوت منیجر به نام grub4dos برای ادامه کار نیاز داریم.با یه شیلتر شکن یا پراکسی تحت وب grub4dos-0.4.6a رو از آدرس زیر دانلود و اکسترکت کنید.(یه سوپر مولتی بوت منیجره)
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
شما هم مثل من ویندوز ۷ به بعد نصب دارید و از طریق بوت منیجر اون یعنی bootmgr سیستم رو بوت میکنیدوباید یه ورودی به منوی بوت ویندوز برای این بوت منیجر اضافه کنید با easybcd میتونید ولی برای کنترل بهتر از طریق خط فرمان اینکار رو انجام بدید(cmd.exe رو با مجوز مدیر اجرا کنید) توی آدرس زیر نحوه اضافه کردن g4d به منوی بوت ویندوز آموزش داده شده :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کد:
).
To manually create an entry in the BCD store -
Open a Command Prompt with administrator privileges (right click and select Run as administrator)
Enter the following text (where - %STORE% = path to BCD file (e.g. C:\boot\BCD)) -
BCDEDIT.EXE /store %STORE% /create /d "Start GRUB4DOS" /application bootsector
This will return a unique guid number for the new entry in the format, e.g. -
{2a4b5efd-0969-11dd-9a85-000000000000}
The 32 character string is then used in the following commands (substitute %guid% for your own guid value created above, and substitute %STORE% with the path to the BCD file) -
BCDEDIT.EXE /store %STORE% /set %guid% device boot
BCDEDIT.EXE /store %STORE% /set %guid% path \grldr.mbr
BCDEDIT.EXE /store %STORE% /displayorder %guid% /addlast
حالا توضیح نصب این بوت منیجر به زبان ساده:
بعد از اکسترکت کردن فایل فشرده grub4dos سه تا از فایلهاشو به درایو بوت(معمولا C) کپی کنید.grldr - grldr.mbr و menu.lst
تو خط فرمان تایپ کنید :
کد:
set STORE=C:\boot\BCD
و بعد :
کد:
BCDEDIT.EXE /store %STORE% /create /d "XP In VHD" /application bootsector
اجرای دستور بالا یه guid مثل {2a4b5efd-0969-11dd-9a85-000000000000} خروجی میده که تو فرمان بعدی اونو جایگزین کنید :
کد:
set guid={2a4b5efd-0969-11dd-9a85-000000000000}
حالا ۳ دستور زیر رو عینا اجرا کنید :
کد:
BCDEDIT.EXE /store %STORE% /set %guid% device boot
BCDEDIT.EXE /store %STORE% /set %guid% path \grldr.mbr
BCDEDIT.EXE /store %STORE% /displayorder %guid% /addlast
حالا باید فایل menu.lst رو که قبلا به ریشه درایو c کپی کرده بودید رو ویرایش کنید.کل محتویاتش رو پاک و با متن زیر جایگزین کنید :
کد:
title Start - TXT-mode XP Setup on XP-1.vhd
find --set-root --ignore-floppies /XP3_student_edition.iso
map --mem /XP3_student_edition.iso (0xff)
map --rd-size=2048
map --mem (rd)+4 (0x55)
map --hook
write (0x55) #!GRUB4DOS\x00v=1\x00/XP3_student_edition.iso\x00\xff\x00
find --set-root --ignore-floppies /XP-1.vhd
map --mem /winvblock.ima (fd1)
map --mem /winvblock.ima (fd0)
map /XP-1.vhd (hd0)
map --rehook
chainloader (0xff)
title Continue GUI-mode XP Setup on XP-1.vhd
find --set-root --ignore-floppies /XP3_student_edition.iso
map --mem /XP3_student_edition.iso (0xff)
map --rd-size=2048
map --mem (rd)+4 (0x55)
map --hook
write (0x55) #!GRUB4DOS\x00v=1\x00/XP3_student_edition.iso\x00\xff\x00
find --set-root --ignore-floppies /XP-1.vhd
map --mem /winvblock.ima (fd1)
map --mem /winvblock.ima (fd0)
map /XP-1.vhd (hd0)
map --rehook
root (hd0,0)
chainloader /ntldr
title Boot Windows XP from Image - XP-1.vhd
find --set-root --ignore-floppies /XP-1.vhd
map /XP-1.vhd (hd0)
map --hook
root (hd0,0)
chainloader /ntldr
ایمیج ISO سی دی XP رو به XP3_student_edition.iso تغییر نام بدید.ایمیج vhd رو به XP-1.vhd تغییر نام بدید.فایل
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
رو دانلود و در همون درایوی که ایمیج vhd رو ایجاد کردید کپی کنید.
پس از ری استارت و انتخاب گزینه بوت جدید یه منوی بوت ساده با 3 گزینه به نمایش در میاد.ابتدا Start - TXT-mode XP Setup on XP-1.vhd رو میزنید.توجه کنید که حتما پارتیشن مربوط به درایو vhd رو برای نصب انتخاب کنید.پس از ری استارت گزینه Continue GUI-mode XP Setup on XP-1.vhd رو انتخاب کنید و در ری استارت بعدی Boot Windows XP from Image - XP-1.vhd ویندوز را بوت مینماید.
در هر حال نصب xp بعد از ویندوزهای جدیدتر ممکن است منوی بوت ویتدوز جدیدتر را از دسترس خارج کند که با نرم افزار easybcd به راحتی قابل بازگشت است.
دستور map --mem /XP3_student_edition.iso (0xff) ایمیج ویندوز xp رو به طور کامل به ram کپی میکنه که سرعت نصب زیاد میشه اما 700 مگابایت از رم(حجم ایمیج) اشغال میشه اگر ram سیستم شما کمه کافیه mem-- رو از این دستور موجود در فایل menu.lst حذف کنید که البته در اینصورت ایمیج باید دیفرگ و یک تکه باشه.
پس از نصب کامل فایل menu.lst رو به صورت زیر تغییر بدید :
کد:
default 0
timeout 0
title Boot Windows XP from Image - XP-1.vhd
find --set-root --ignore-floppies /XP-1.vhd
map /XP-1.vhd (hd0)
map --hook
root (hd0,0)
chainloader /ntldr
با این تغییر مستقیما ویندوز xp بوت خواهد شد و دیگر منوی g4d را نمی بینید.
بلافاصله پس از بوت باید رجیستری ویندوز رو باز کنید و به کلید زیر برید :
کد:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
حالا با دابل کلیک بر EnablePrefetcher مقدار اون رو به صفر تغییر بدید.فعال بودن prefetch میتونه باعث BSOD به دلیل PFN_LIST_CORRUPT بشه.
این آموزش 18+ هست و برای کسایی که قلبشون با باتری کار میکنه مناسب نیست.با وجود اینکه هیچ خطری نداره اما هر خرابکاری بکنید خودتون مقصرید.
این آموزش از منابع زیر اخذ شده :(با خواندن متن اصلی متوجه میشید شیوه متفاوتی که من گفتم منعطفتر و کنترل پذیرتره)