PDA

نسخه کامل مشاهده نسخه کامل : نصب و بوت ویندوز XP روی ایمیج VHD



Ahmad24
09-12-2013, 09:07
با اومدن ویندوزهای جدید دلیلی برای نصب ویندوز رو به مرگ XP وجود نداره.اما گاهی ممکنه شما به نرم افزار یا بازی نیاز پیدا کنید که قدیمیه و فقط روی XP جواب میده.
البته در اینحالت نصب XP Mode روی ویندوز ۷ به بعد راه خوبیه اما به هر دلیل ممکنه بخواید مستقیما از XP استفاده کنید.اختصاص دادن یه پارتیشن مجزا و مسایل و مشکلات بوت دوگانه
اونهم برای استفاده محدود از ویندوز XP عاقلانه نیست.
میشه ویندوز رو روی تنها یک فایل نصب و بوت کرد.تفاوت این روش با ماشین مجازی در اینه که شما به طور کامل به سخت افزار حقیقی سیستمتون دسترسی دارید و با performance کامل ازش استفاده میکنید.
حتی این امکان هست که ویندوز نصب شده رو به طور کامل به حافظه ram کپی و از روی ram اجرا کرد.(حتی میشه اون رو به هارد اکسترنال منتقل و حتی به صورت universal اونو بوت کرد یعنی روی گستره وسیعی از سخت افزارها و کامپیوترهای دیگه به صورت پرتابل بوت بشه)
ایمیج VHD یه فرمت فایله که مایکروسافت اون رو تعریف کرده و در حقیقت یه هارد مجازی رو شبیه سازی میکنه.در ویندوزهای ۷ به بعد از طریق ابزار Disk Management موجود در کنترل پنل(Administrative tools) میشه
ایمیجهای VHD رو ایجاد کرد و با امکان Attach و Detach اونها رو پارتیشن بندی و فرمت و از اونها استفاده کرد.البته ابزارهای زیاد دیگه ای برای ایجاد و مدیریت اینگونه ایمیجها وجود داره.نرم افزار خط فرمانی vhdtool که محصول مایکروسافته در یه چشم بهم زدن ایمیج vhd رو تولید میکنه.
من ویندوز ۸.۱ رو تو یه پارتیشن ۳۵ گیگابایتی نصب دارم و نصف پارتیشن خالیه.یه ایمیج vhd با خجم ۷ گیگابایت ایجاد میکنم و اون با استفاده از نرم افزار wincontig ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) دیفرگ میکنم(دیفرگ بودن ایمیج الزامیه).سپس اونو با روشی که گفتم پارتیشن بندی میکنم(فقط یک پارتیشن ntfs ایجاد کنید)
ایمیج iso ویندوز xp رو روی یه پارتیشن هارد کپی میکنم.اگر شما ram کافی دارید نیازی به دیفرگ کردن فایل iso ویندوز xp ندارید البته بهتره اون رو هم دیفرگ کنید.حتما از ویندوز xp ویرایش student که درایورهای آماده داره استفاده کنید.از این به بعد فرض میکنم شما ۲ گیگ رم دارید.(البته الزامی نیست)

به یه بوت منیجر به نام grub4dos برای ادامه کار نیاز داریم.با یه شیلتر شکن یا پراکسی تحت وب grub4dos-0.4.6a رو از آدرس زیر دانلود و اکسترکت کنید.(یه سوپر مولتی بوت منیجره)
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

شما هم مثل من ویندوز ۷ به بعد نصب دارید و از طریق بوت منیجر اون یعنی bootmgr سیستم رو بوت میکنیدوباید یه ورودی به منوی بوت ویندوز برای این بوت منیجر اضافه کنید با easybcd میتونید ولی برای کنترل بهتر از طریق خط فرمان اینکار رو انجام بدید(cmd.exe رو با مجوز مدیر اجرا کنید) توی آدرس زیر نحوه اضافه کردن g4d به منوی بوت ویندوز آموزش داده شده :
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


حالا توضیح نصب این بوت منیجر به زبان ساده:
بعد از اکسترکت کردن فایل فشرده grub4dos سه تا از فایلهاشو به درایو بوت(معمولا C) کپی کنید.grldr - grldr.mbr و menu.lst
تو خط فرمان تایپ کنید :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و بعد :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اجرای دستور بالا یه guid مثل {2a4b5efd-0969-11dd-9a85-000000000000} خروجی میده که تو فرمان بعدی اونو جایگزین کنید :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا ۳ دستور زیر رو عینا اجرا کنید :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا باید فایل menu.lst رو که قبلا به ریشه درایو c کپی کرده بودید رو ویرایش کنید.کل محتویاتش رو پاک و با متن زیر جایگزین کنید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


ایمیج ISO سی دی XP رو به XP3_student_edition.iso تغییر نام بدید.ایمیج vhd رو به XP-1.vhd تغییر نام بدید.فایل winvblock.ima - 1.4 MB ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) رو دانلود و در همون درایوی که ایمیج 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 رو به صورت زیر تغییر بدید :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با این تغییر مستقیما ویندوز xp بوت خواهد شد و دیگر منوی g4d را نمی بینید.
بلافاصله پس از بوت باید رجیستری ویندوز رو باز کنید و به کلید زیر برید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا با دابل کلیک بر EnablePrefetcher مقدار اون رو به صفر تغییر بدید.فعال بودن prefetch میتونه باعث BSOD به دلیل PFN_LIST_CORRUPT بشه.
این آموزش 18+ هست و برای کسایی که قلبشون با باتری کار میکنه مناسب نیست.با وجود اینکه هیچ خطری نداره اما هر خرابکاری بکنید خودتون مقصرید.
این آموزش از منابع زیر اخذ شده :(با خواندن متن اصلی متوجه میشید شیوه متفاوتی که من گفتم منعطفتر و کنترل پذیرتره)

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

Ahmad24
15-12-2013, 00:27
با فشرده سازی درایو VHD بالاخره حجم ایمیج VHD رو به حدود 2592 مگابایت تقلیل دادم و اونو کامل به رم لود کردم(حدود کمتر از 20 ثانیه تو سیستم من طول میکشه)
من 8 گیگ رم ddr3 با سرعت گذرگاه 1333 مگاهرتز دارم.همونطور که میدونید ویندوز xp 32 بیتی فقط حدود 3 گیگابایت از حافظه رو آدرس دهی میکنه و به بقیه حافظه دسترسی نداره
با کم کردن این 2600 مگابایت کمتر از 500 مگ حافظه برای ویندوز میمونه که خیلی کمه.
با تلاش فراوان و googling کردن آخرش تونستم به این محدودیت غلبه کنم.
نرم افزار superspeed ramdisk plus میتونه فضای حافظه غیر قابل دسترس(unmanaged memory) رو به عنوان یه درایو ram در اختیار قرار بده که میشه در ادامه pagfile ویندوز رو در اون قرار داد و عملا
از این حافظه استفاده کرد.
البته مشکل اینجاست که فقط پس از بوت کامل ویندوز میشه این درایو ram رو ایجاد کرد اما ویندوز در ابتدای بوت این حافظه pagfile رو تشکیل میده که اگر درایو ram نباشه(که نیست) اونو به طور اتوماتیک(system managed) تو یکی از درایوهای فیزیکی هارد و با حجم دلخواه ایجاد میکنه.این چیزی نبود که من میخواستم.
در ابتدا باید حالت system managed رو برای ایجاد pagfile غیر فعال میکردم.کلیک راست روی My Computer سپس properties-> Advanced -> Performance -> Settings -> Advanced > Change و ...
کلا باید pagefile رو غیر فعال کرد.pagefile باید پس از بوت کامل ویندوز و ایجاد درایو ram ایجاد بشه و هنگام خاموش کردن سیستم هم مجددا غیرفعال بشه.
تو بوت عادی نرم افزار رو نصب و pagefile رو غیر فعال کردم.سپس بوت VHD از طریق رم رو انجام دادم. و در نرم افزار ramdisk plus ابتدا از منوی file و گزینه memory حافظه unmanaged رو فعال و سپس درایو مجازی رو با حجم 5100 مگابایت (تقریبا تمام حافظه غیر قابل دسترس در سیستم من) به فرمت پارتیشن NTFS ایجاد کردم.تغییرات رجیستری رو با یه backup system state data تو یه فایل ذخیره کردم(توجه کنید سیستمی که از طریق لود به ram بوت بشه freeze شده خواهد بود یعنی هیچ تغییری پس از reboot باقی نمیماند که خود مزیتی است) بعدا با سوار کردن ایمیج VHD اصلی فایلهای رجیستری رو از فایل backup رونویسی کردم تا تنظیمات در ایمیج اصلی هم اعمال شود.


حالا سیستم رو ری استارت و از طریق vhd به صورت عادی بوت شدم تا تغییراتی رو اعمال کنم.2 فایل دسته ای به نامهای pagefile.bat و shutdown.bat ایجاد کردم با محتویات زیر :
pagefile.bat

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

shutdown.bat

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این 2 فایل در ریشه درایو C یا همون ویندوز xp ایجاد شدند.سپس با تایپ gedit.msc در کادر run ویرایشگر group policy editor رو باز کردم.windows setting رو از Computer configuration انتخاب و سپس به Scripts(startup/shutdown و C:\pagefile.bat را به اسریپتهای startup و C:\shutdown.bat رو به اسکریپتهای shutdown اضافه کردم.
با ری استارت حالا میتونم ایمیج VHD رو به رم منتقل و از طریق ram بوت کنم و در عین حال به تمام 8 گیگ رم سیستم دسترسی داشته باشم.
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

Ahmad24
16-12-2013, 19:01
bootchainloading مبحث جالبیه و مدتهای مدیدی در موردش تحقیق و کنکاش کردم.میخوام یه شمایی از بوت سیستم خودم اینجا ارایه بدم که میتونه انگیزه ای برای یادگیری در دیگران باشه
وقتی سیستم رو روشن میکنم این صفحه رو میبینم :



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])


این منوی گرافیکی با 10 ثانیه timeout تنظیم شده که به صورت یه ریبون در پایین گزینه ها تایم اوت نشون داده میشه.اگر گزینه windows رو انتخاب کنم به یه submenu به صورت زیر منتقل میشم :



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])


سیستم عامل اصلی کامپیوتر من Arch linux هست.من هم کاربری بودم که فقط با ویندوز کار میکردم و شناختی از دیگر سیستم عاملها نداشتم.اصلا کامپیوتر معنایی جز ویندوز نداشت.اول بار 7-8 سال قبل تو میدون انقلاب
موقعی که دنبال سی دی نرم افزار بودم مجموعه سی دی نصب لینوکس redhat توجه منو به خودش جلب کرد.یه کتاب لینوکس هم خریدم و لینوکس رو نصب کردم.اون موقع اینترنت پر سرعت نداشتم و همین باعث شد لینوکس رو دور بندازم.کامپیوتر فعلی رو در سال 2009 خریدم که الان یه سیستم قدیمی به حساب میاد البته تا اونجایی که تونستم مشخصاتشو بالا گرفتم تا در آینده به مشکل برنخورم.8 گیگ رم و پردازنده 4 هسته ای و ...
حالا حدود 3 ساله adsl دارم.حدود 8-9 ماه قبل خیلی جدی تصمیم گرفتم برم سراغ لینوکس.اول رفتم سراغ redhat که متوجه شدم دیگه رایگان نیست و رفتم سراغ هم خانوادش fedora
تا یه مدتی فقط با فدورا و اوبونتو کار میکردم و لینوکس رو بهتر یاد میگرفتم منتهی رفتم سراغ شناخت بقیه دیستروها(ویرایشهای) لینوکس و bsd.سیستم عاملهای زیادی رو نصب و تست و بعدا حذف کردم.متاسفانه نمیتونم mac os رو نصب کنم.حالا روی سیستم من لینوکس آرچ(با ۲ هسته متفاوت) لینوکس فدورا - freebsd و ویندوز 8(و البته ویندوز xp به صورت مستقر روی ایمیج vhd) نصبه.
هارد سیستم من از نوع msdos(همون شمای mbr) بود که محدودیت 4 پارتیشن primary به شدت آزار دهنده بود.برای نصب یه سیستم عامل جدید باید فضای لازم ایجاد میشد یا پارتیشنی تغییر میکرد.
پس از برسی فراوان متوجه شدم باید طرح جدول پارتیشن رو از msdos به gpt تبدیل کنم.طرح gpt در کامپیوترهای مجهز به بوت امن(UEFI) الزامیه.البته اگر شما هارد خام رو با ویندوز ویستا به بعد فرمت کنید هم طرح gpt ایجاد میشه.اما سیستم من دارای چندین پارتیشن و سیستم عاملهای متعدد بود و به هیج وجه نمیخواستم اطلاعات فعلی از دست بره.خوشبختانه در لینوکس یه ابزار خط فرمانی به نام gdisk داریم که بدون از دست رفتن اطلاعات این تبدیل انجام شد.حالا میتونم هر تغییری رو در تعداد و نظم پارتیشنها ایجاد کنم.همه پارتیشنها از نوع primary هستند.البته ریزه کاریهای تکنیکی زیادی وجود داره که مجالش نیست.
موقعی که کاربر ویندوز بودم با مباحث بوت و محیط های pe و بوت منیجرها سروکله میزدم و grub4dos رو به عنوان بوت منیجر اصلی سیستم انتخاب کردم.همین باعث شد در مهاجرت به لینوکس هیچ مشکلی در مدیریت بوت نداشته باشم.حالا از بوت منیجر پیشفرض لینوکس grub2 که روی سکتور صفر نصبه استفاده میکنم.
در لینوکس پارتیشنهای سیستم من به صورت واقعی نشون داده میشه و به صورت زیره :



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])


ویندوز 8.1 روی پارتیشن آخری نصبه(dev/sda12/) .ویندوز xp هم روی همون پارتیشن آخر روی یک فایل به نام XP-1.vhd نصبه که به 2 صورت قابل بوته.در ویندوز 8 جدول پارتیشن به صورت زیر دیده میشه :



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])


هنگامی که ویندوز xp رو به ram منتقل و بوت میکنم جدول پارتیشن به صورت زیر در xp دیده میشه :



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])


Disk0 که همون هارد اصلیه.Disk1 و Disk2 وجود خارجی ندارند.Disk1 همون فایل حاوی ویندوز xp که حالا به رم منتقل شده و به صورت هارد مجازی نگاشت شده.
Didk2 هم که با برچسب RamDisk و تحت درایو :Z مشاهده میشه در واقع دیسک Ram هست که توسط نرم افزار superspeed ramdisk plus 11 ایجاد شده و سپس pagefile ویندوز در اون مستقر شده.

Persian.Awesome
19-06-2014, 13:08
آقا من یه سوال در مورد اون hybrid mbr دادشتم من hybrid mbr درست کردم اما هر کار می کنم ویندوز روش نصب نمیشه میشه یکم توضیح بدی لطفا!