راهنمای گامبهگام ساخت دیسک نصب و ارتقاء سیستم عامل بدون نیاز به VM جدید:
در این مقاله به صورت عملی نشان میدهم چطور یک ماشین مجازی (VM) با ویندوز سرور ۲۰۱۶در Azure را به نسخهی جدیدتر ویندوز سرور ۲۰۱۹ بهصورت In-Place Upgrade ارتقاء دهیم. این روش باعث حفظ تنظیمات، برنامهها و دادهها میشود، بدون نیاز به ساخت VM جدید.
طبق ماتریس پشتیبانی رسمی مایکروسافت برای In-Place Upgrade ویندوز سرور:
| نسخه فعلی | نسخه مقصد مجاز |
| Windows Server 2012 → | Windows Server 2016 |
| Windows Server 2016 → | Windows Server 2019 یا Windows Server 2022 |
| Windows Server 2019 → | Windows Server 2022 یا Windows Server 2025 |
اگر الان Windows Server 2016 دارید، نمیتوانید مستقیماً به ۲۰۲۵ ارتقاء بدی، چون مسیر رسمی پشتیبانیشده نیست.
باید اول بری به Windows Server 2019 یعد ۲۰۲۲، بعد از اون به ۲۰۲۵.
Snapshot از دیسک VM:
قبل از انجام بهروزرسانی روی ماشین مجازی، حتماً یک Snapshot از وضعیت فعلی آن تهیه کنید. این کار تضمین میکند که در صورت بروز مشکل، بتوانید ماشین را سریع به حالت قبل بازگردانید و از از دست رفتن دادهها یا اختلال در سرویس جلوگیری کنید.



آموزش ساخت Upgrade Media Disk در Azure برای ارتقاء In-Place ویندوز سرور:
در این بخش، نحوه ایجاد و استفاده از Upgrade Media Disk در Azure را توضیح میدهیم تا بتوانید ویندوز سرور قدیمی (مثلاً ۲۰۱۲ یا ۲۰۱۶) را به نسخه جدیدتر ارتقاء دهید. با این روش، بدون نیاز به دانلود دستی فایل ISO روی VM، میتوانید یک دیسک حاوی فایل نصب ویندوز ایجاد کرده و آن را به ماشین مجازی متصل کنید.
نکات مهم قبل از شروع:
- Managed Disk: Upgrade Media باید به صورت Managed Disk به VM متصل شود.
- استفاده محدود: هر Upgrade Media Disk تنها میتواند یک VM را در یک زمان ارتقاء دهد. برای ارتقاء همزمان چند VM، لازم است برای هر VM یک دیسک جداگانه ایجاد کنید.
- استفاده مجدد: پس از اتمام ارتقاء یک VM، دیسک را میتوان برای ارتقاء سایر VMها نیز استفاده کرد، اما هر بار باید به VM مربوطه متصل شود.
در این مرحله، ماشین مجازی (VM) من با سیستم عامل Windows Server 2016 آماده است و قصد دارم آن را به نسخهی Windows Server 2019 بهصورت In-Place ارتقاء دهم.برای این کار، باید ابتدا یک Upgrade Media Disk بسازم که شامل فایل نصب (ISO) ویندوز سرور ۲۰۱۹ باشد. این دیسک را به VM متصل میکنم تا از طریق آن عملیات ارتقاء انجام شود

مرحله ۱: اتصال به Azure Cloud Shell
برای شروع فرآیند ارتقاء، ابتدا باید وارد محیط Azure Cloud Shell شوید تا بتوانید دستورات PowerShell را مستقیماً روی حساب Azure خود اجرا کنید.
وارد Azure Portal شوید.
از نوار بالای صفحه، روی آیکون Cloud Shell کلیک کنید.
در اولین استفاده، از شما پرسیده میشود بین Bash و PowerShell یکی را انتخاب کنید — گزینهی PowerShell را انتخاب کنید.
💡 نکته: Cloud Shell بهصورت خودکار به حساب Azure شما متصل میشود و نیازی به نصب یا پیکربندی PowerShell روی سیستم شخصی ندارید. در Azure روشهای دیگری مانند PowerShell محلی یا Azure PowerShell در VS Code هم برای اتصال وجود دارد، اما در این آموزش برای سادگی و تمرکز، از Cloud Shell استفاده میکنیم.
بعد از ورود به Cloud Shell، بهتر است ابتدا بررسی کنید که در حال حاضر روی کدام Subscription فعال هستید.
در بعضی از سازمانها چندین Subscription وجود دارد (مثلاً برای محیطهای Dev، Test و Production) و اگر در Subscription اشتباهی باشید، ممکن است منابع جدید مثل دیسک یا VM در محل نادرست ساخته شوند.
برای بررسی Subscription فعلی، دستور زیر را اجرا کنید
این دستور اطلاعات حساب فعلی شما را نمایش میدهد، از جمله نام Subscription، کاربر متصل و محیط Azure:
Get-AzContext
برای تغییر به Subscription مورد نظر، از دستور زیر استفاده کنید:
"Set-AzContext -Subscription "subscriptionID
ایحاد متغیرها:
برای راحتی کار، ابتدا چند متغیر میسازیم و بعد در دستور ساخت دیسک از آنها استفاده میکنیم تا اجرای اسکریپت سادهتر و قابلمدیریتتر شود.
قبل از ساخت Upgrade Media Disk، باید Resource Group که VM داخل آن قرار دارد را مشخص کنیم.
این کار کمک میکند تا منابع جدید (مثل دیسک ارتقاء) در همان Resource Group ایجاد شوند و مدیریت آنها سادهتر باشد.
"resourceGroup = "your resource group name$
VM داخل کدام موقعیت (Location) قرار دارد.
"location = "your vm location$
$zone → منطقهی Availability Zone VM (اگر وجود دارد)
""= zone$
$diskName → نام دیسک Upgrade:
"diskName = "WindowsServer2019UpgradeDisk$
$sku → نسخه هدف برای ارتقاء
(server2025Upgrade , server2022Upgrade , server2019Upgrade ,server2016Upgra)
"sku = "server2019Upgrade$
انتخاب آخرین نسخهی تصویر (VM Image) با استفاده از Get-AzVMImage آخرین نسخهی تصویر ارتقاء از Marketplace گرفته میشود.
$publisher، $offer، $managedDiskSKU → اطلاعات لازم برای انتخاب ایمیج ویندوز از Azure Marketplace
image = Get-AzVMImage$
Location $location -PublisherName $publisher -Offer $offer -Skus $sku -Version $latestString
ساخت Managed Disk از روی VM Image:
- پیکربندی دیسک با
New-AzDiskConfigانجام میشود. - اگر VM در یک Zone مشخص باشد، آن Zone نیز به دیسک اختصاص داده میشود.
- با
Set-AzDiskImageReferenceتصویر VM به دیسک متصل میشود. - در نهایت، با
New-AzDiskدیسک واقعی در Azure ساخته میشود.
if ($zone){ $diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU ` -CreateOption FromImage ` -Zone $zone ` -Location $location } else { $diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU ` -CreateOption FromImage ` -Location $location }
Set-AzDiskImageReference -Disk $diskConfig -Id $image.Id -Lun 0 New-AzDisk -ResourceGroupName $resourceGroup ` -DiskName $diskName ` -Disk $diskConfig
این دیسک آماده است تا مستقیماً به VM متصل شود و عملیات In-Place Upgrade با اجرای Setup شروع شود.
اسکریپت به صورت خودکار آخرین نسخهی تصویر ارتقاء را انتخاب میکند و نیاز به آپلود دستی ISO ندارد.
با این روش، ساخت دیسک در Subscription و Resource Group صحیح انجام میشود و همه چیز مدیریت شده است.


مرحله ۲: مشاهده و اتصال دیسک به VM:
پس از اجرای اسکریپت و ساخت Upgrade Media Disk، دیسک ساخته شده را میتوان در Azure Portal مشاهده و به VM متصل کرد.

مرحله ۳: اتصال دیسک Upgrade به VM:
پس از اینکه دیسک Upgrade Media در Azure Portal ساخته شد، اکنون باید آن را به ماشین مجازی (VM) متصل کنیم تا بتوانیم فایلهای نصب ویندوز را داخل VM استفاده کنیم.
- در صفحه VM، از منوی سمت چپ روی Disks کلیک کنید.
- روی + Add data disk کلیک کنید.
- در قسمت Name، دیسک ساخته شده (مثلاً
WindowsServer2019UpgradeDisk) را انتخاب کنید. - اگر لازم بود، LUN (Logical Unit Number) را تعیین کنید. معمولاً مقدار پیشفرض کافی است.
- روی Save کلیک کنید تا دیسک به VM متصل شود.

مشاهده دیسک در داخل VM
با RDP/Bastion به VM متصل شوید. دیسک جدید را خواهید دید در غیر اینصورت وارد Disk Management شوید (diskmgmt.msc).دیسک جدید به صورت یک درایو اضافهشده یا Unallocated نمایش داده میشود. اگر لازم بود، روی دیسک راستکلیک → New Simple Volume → فرمت NTFS → Assign Drive Letter.

وارد درایو جدید شوید. روی فایل setup.exe دوبار کلیک کنید و یا اینکه درcmd :
setup.exe /auto upgrade /dynamicupdate disable /eula accept
سیستم ممکن است چندین بار ریستارت شود؛ این رفتار طبیعی است. پس از پایان نصب، VM با نسخه جدید ویندوز سرور بالا میآید.

:Learn More https://learn.microsoft.com/en-us/azure/virtual-machines/windows-in-place-upgrade https://learn.microsoft.com/en-us/azure/update-manager/overview
0 مورد نقد و بررسی