Как реших проблема със 100-секундното зареждане на Windows 11

Как реших проблема със 100-секундното зареждане на Windows 11

Всичко започна след един рутинен ъпдейт на Windows 11. Мощната ми конфигурация с AMD Ryzen 7 5800X и дънна платка ASRock B550 Steel Legend, която досега летеше, започна да зарежда отчайващо бавно. Вместо обичайните 15-20 секунди, трябваше да чакам над минута и половина пред монитора.

Диагностиката: Къде изчезна скоростта?

Първата стъпка беше да отворя Event Viewer (Програма за преглед на събития) и да погледна в „черната кутия“ на системата: Applications and Services Logs -> Microsoft -> Windows -> Diagnostics-Performance -> Operational.

Там открих събитие с ID 100, което потвърди опасенията ми: Boot Duration: 103,633 мс (над 103 секунди!). Чрез последователно изключване на дисковете установих, че виновникът е моят 4TB Seagate BarraCuda, на който съхранявам филмовата си библиотека за Plex.

Проблемът: SMART грешки и софтуерни конфликти

Проверката с CrystalDiskInfo показа нещо притеснително. Въпреки общия статус "Good", параметърът ID 01 (Read Error Rate) имаше високи стойности. При стартиране Windows 11 се опитваше да инициализира този 4TB диск, но заради грешките при четене системата „замръзваше“, докато траеха многократните опити за комуникация.

Временното решение: Софтуерен „байпас“

Докато чакам новия диск, реших проблема елегантно чрез PowerShell скрипт и планирана задача:

  1. Сложих диска в режим Offline през Disk Management.
  2. Създадох скрипт, който монтира диска автоматично 60 секунди след влизане в Windows. Резултатът: Windows спря да чака проблемния диск по време на boot и времето за зареждане падна обратно до 30 секунди.

Защо новият ми диск трябва да бъде с CMR технология?

При избора на нов 4TB диск научих най-важния урок: разликата между SMR и CMR.

  • SMR (Shingled Magnetic Recording): Използва застъпващи се пътеки (като керемиди на покрив). Това прави дисковете евтини, но изключително бавни при запис и индексиране, защото при всяка промяна трябва да пренаписват съседни данни. Моят стар Seagate беше точно такъв.
  • CMR (Conventional Magnetic Recording): Записва данните в отделни пътеки. Те са много по-бързи, по-надеждни при постоянно натоварване и нямат „скритото“ забавяне на SMR моделите.

Защо избрах WD Red Plus (WD40EFZZ)?

WD Red Plus (WD40EFZZ)

Въпреки че съществуват по-евтини алтернативи като Seagate SkyHawk, ето защо WD Red Plus е "златният стандарт" за домашен медиен сървър:

  1. Проектиран за денонощна работа (24/7): Това е NAS диск, създаден да работи в системи, които не се гасят.
  2. Оптимизиран за четене: Докато дискове като SkyHawk са оптимизирани за запис (видеонаблюдение), WD Red Plus е перфектен за стрийминг през Plex.
  3. CMR технология: Гарантира, че няма да имам същите „висвания“ на системата, които причиняваше старият ми SMR диск.
  4. Тишина и ниска температура: Работи на 5400 RPM, което го прави изключително тих за домашна среда.

За да предпазите новия си CMR диск, преместете транскодиращата директория на Plex в RAM паметта или на SSD. Това елиминира излишните механични движения на HDD и гарантира тиха и дълготрайна работа.

Приложение: Техническото решение (Scripting)

Приложение: Техническото решение (Scripting)

За тези от вас, които са изправени пред същия проблем, споделям пълния PowerShell скрипт. Той е проектиран да бъде максимално безопасен, като идентифицира диска по неговия модел и етикет, преди да предприеме действия.

1. Скриптът (Mount-PlexHDD.ps1)

Този скрипт изчаква системата да се успокои, активира диска и му задава правилната буква:

# Изчакваме 60 секунди за стабилност на системата
Start-Sleep -Seconds 60

# Идентифицираме физическия диск по модел (напр. Seagate 4TB)
$disk = Get-Disk | Where-Object { $_.FriendlyName -like "*ST4000DM004*" }

if ($disk) {
    # 1. Привеждаме диска в Online режим
    if ($disk.IsOffline) {
        Set-Disk -Number $disk.Number -IsOffline $false
    }

    # 2. Намираме партицията по етикет и задаваме буква F
    $partition = $disk | Get-Partition | Get-Volume | Where-Object { $_.FileSystemLabel -eq "PLEX_HDD" } | Get-Partition

    if ($partition -and -not $partition.DriveLetter) {
        Set-Partition -DiskNumber $disk.Number -PartitionNumber $partition.PartitionNumber -NewDriveLetter "F"
    }
}

2. Автоматизация чрез PowerShell (Task Scheduler)

За да работи всичко "тихо" и автоматично при всяко стартиране, използвайте следните команди в PowerShell (като администратор), за да регистрирате задачата към системата:

# Дефинираме действието (изпълнение на скрипта без прозорец)
$action = New-ScheduledTaskAction -Execute "powershell.exe" `
    -Argument "-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File C:\Scripts\Mount-PlexHDD.ps1"

# Дефинираме тригера (при влизане в профила)
$trigger = New-ScheduledTaskTrigger -AtLogOn

# Задаваме задачата да се изпълнява от името на SYSTEM с най-високи права
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest

# Регистрираме задачата в Windows
Register-ScheduledTask -TaskName "Mount_Plex_HDD" -Action $action -Trigger $trigger -Principal $principal

Защо това работи?

По този начин „залъгваме“ Windows 11. По време на критичния процес на зареждане (Boot), когато се генерираха онези 103 секунди забавяне, операционната система вижда диска като "Offline" и не се опитва да комуникира с него. Когато десктопът е вече зареден и ресурсите са свободни, нашият скрипт се задейства и „събужда“ диска за работа с Plex.

Заключение

Ако компютърът ви започне да зарежда бавно, не бързайте да преинсталирате Windows. Проверете здравето на дисковете си и не правете компромис с технологията на съхранение. Преминаването към CMR диск като WD Red Plus не е просто покупка на място за съхранение, а инвестиция в стабилността на цялата система.

open source spirit
🛠️
$

Намерихте материала за полезен?

Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума. Всяко дарение помага за поддръжката и развитието на портала.

PayPal Revolut

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *


Колко е 9 + 8 ? (въведете числото)