بسم الله الرحمن الرحيم
Windows yang membutuhkan waktu lama untuk masuk ke desktop tidak selalu berarti harus langsung di-install ulang.
Booting lambat bisa disebabkan oleh banyak hal, seperti aplikasi startup, service Windows, driver, perangkat penyimpanan, atau proses lain yang berjalan ketika Windows mulai digunakan.
Daripada langsung menebak penyebabnya, kita bisa melakukan diagnosis terlebih dahulu menggunakan tool bawaan Windows.
Pada artikel ini kita akan menggunakan PowerShell dan Event Viewer untuk melihat informasi performa boot Windows.
Targetnya adalah mengetahui:
Berapa lama Windows melakukan boot?
↓
Bagian mana yang membutuhkan waktu lama?
↓
Apakah ada aplikasi atau service yang memperlambat startup?
↓
Apakah perlu melakukan pemeriksaan lebih lanjut?
Semua pemeriksaan pada artikel ini dapat dilakukan tanpa menginstall aplikasi tambahan.
Apa yang Akan Kita Periksa?
Windows mempunyai event log khusus yang mencatat informasi performa startup dan shutdown.
Salah satu lokasi yang berguna adalah:
Applications and Services Logs
│
▼
Microsoft
│
▼
Windows
│
▼
Diagnostics-Performance
│
▼
Operational
Dari sana kita bisa menemukan beberapa event yang berkaitan dengan proses startup Windows.
Beberapa Event ID yang akan kita gunakan:
Event ID 100
│
└── Informasi performa boot Windows
Event ID 101
│
└── Aplikasi yang mengalami degradasi saat startup
Event ID 102
│
└── Driver yang mengalami degradasi saat startup
Event ID 103
│
└── Service yang mengalami degradasi saat startup
Dengan informasi tersebut kita bisa melakukan troubleshooting berdasarkan data, bukan hanya perkiraan.
1. Membuka PowerShell sebagai Administrator
Pertama buka Windows PowerShell sebagai Administrator.
Caranya:
Start
↓
Cari "PowerShell"
↓
Klik kanan Windows PowerShell
↓
Run as administrator
Jika muncul User Account Control, pilih:
Yes
Membuka PowerShell sebagai Administrator

Gambar 1. Membuka Windows PowerShell menggunakan opsi Run as administrator.
Setelah PowerShell terbuka, prompt biasanya terlihat seperti:
PS C:\Windows\system32>
Hak Administrator berguna karena beberapa log dan command troubleshooting membutuhkan permission yang lebih tinggi.
2. Mengecek Event Boot Terakhir
Windows menyimpan informasi performa boot pada Event ID 100.
Jalankan:
Get-WinEvent -FilterHashtable @{
LogName='Microsoft-Windows-Diagnostics-Performance/Operational'
Id=100
} -MaxEvents 1
Command tersebut berarti:
Get-WinEvent
│
└── membaca Windows Event Log
LogName
│
└── Diagnostics-Performance/Operational
Id=100
│
└── mencari event performa boot
-MaxEvents 1
│
└── hanya mengambil event terbaru
Jika berhasil, PowerShell akan menampilkan event terakhir yang berkaitan dengan performa boot Windows.
3. Mengambil Detail Waktu Boot dengan PowerShell
Output Event ID 100 mempunyai banyak data.
Supaya lebih mudah dibaca, kita bisa mengambil field yang kita perlukan.
Jalankan:
$e = Get-WinEvent -FilterHashtable @{
LogName='Microsoft-Windows-Diagnostics-Performance/Operational'
Id=100
} -MaxEvents 1
[xml]$xml = $e.ToXml()
$data = @{}
foreach ($item in $xml.Event.EventData.Data) {
$data[$item.Name] = $item.'#text'
}
[PSCustomObject]@{
TimeCreated = $e.TimeCreated
BootTimeSec = [math]::Round([int]$data.BootTime / 1000, 1)
MainPathBootSec = [math]::Round([int]$data.MainPathBootTime / 1000, 1)
PostBootSec = [math]::Round([int]$data.BootPostBootTime / 1000, 1)
PNPInitSec = [math]::Round([int]$data.BootPNPInitTime / 1000, 1)
ExplorerInitSec = [math]::Round([int]$data.BootExplorerInitTime / 1000, 1)
}
Contoh output:
TimeCreated : 9/13/2026 9:22:14 AM
BootTimeSec : 114.6
MainPathBootSec : 32.5
PostBootSec : 82.1
PNPInitSec : 2.5
ExplorerInitSec : 10.0
Contoh Output Event ID 100

Gambar 2. Contoh hasil pembacaan informasi performa boot Windows dari Event ID 100 menggunakan PowerShell.
Angka pada komputer Anda tentu bisa berbeda.
Yang penting bukan mendapatkan angka yang sama, tetapi memahami bagian mana yang membutuhkan waktu paling besar.
4. Memahami BootTimeSec
Field:
BootTimeSec
menunjukkan gambaran total durasi proses boot yang dicatat Windows pada event tersebut.
Misalnya:
BootTimeSec : 114.6
berarti event mencatat durasi sekitar:
114.6 detik
Tetapi angka total saja belum cukup untuk menentukan penyebab.
Kita perlu melihat komponen lainnya.
Secara sederhana:
Boot Windows
│
├── Main Path
│
└── Post Boot
Karena itu selanjutnya kita melihat MainPathBootSec dan PostBootSec.
5. Memahami MainPathBootSec
Field:
MainPathBootSec
menggambarkan waktu pada jalur utama proses boot sebelum Windows masuk ke fase setelah desktop/login tersedia.
Pada fase ini Windows melakukan berbagai pekerjaan seperti:
Windows Boot
│
├── kernel
├── driver
├── device initialization
├── system service
└── proses startup inti
Contoh:
MainPathBootSec : 32.5
Jika bagian ini sangat tinggi, kita bisa melanjutkan pemeriksaan terhadap:
Driver
Device
Storage
Service
Windows component
Jangan langsung menyimpulkan hard disk atau SSD rusak hanya berdasarkan satu angka.
Data ini sebaiknya digunakan sebagai petunjuk untuk menentukan pemeriksaan berikutnya.
6. Memahami PostBootSec
Berikutnya:
PostBootSec
Bagian ini berkaitan dengan aktivitas Windows setelah fase boot utama selesai dan sistem masih melakukan berbagai pekerjaan setelah login.
Contohnya:
PostBootSec : 82.1
Post-boot dapat dipengaruhi oleh aktivitas seperti:
Startup application
│
├── browser
├── updater
├── launcher
├── cloud sync
└── aplikasi lainnya
Windows service
│
└── background process
Antivirus
│
└── startup scan
Disk activity
│
└── banyak proses membaca/menulis disk
Jika PostBootSec tinggi tetapi proses boot utama relatif normal, aplikasi atau service setelah login layak diperiksa lebih lanjut.
7. Memahami PNPInitSec
Field:
PNPInitSec
berhubungan dengan proses Plug and Play ketika Windows menginisialisasi perangkat.
Contohnya:
PNPInitSec : 2.5
Jika nilai ini jauh lebih tinggi dari biasanya, salah satu area yang layak diperiksa adalah perangkat dan driver.
Contohnya:
USB device
Storage controller
Network adapter
GPU
Audio device
External disk
Driver tertentu
Untuk melihat perangkat yang bermasalah, kita juga dapat membuka:
Device Manager
dengan:
Win + R
kemudian:
devmgmt.msc
Cari perangkat yang mempunyai warning seperti tanda seru berwarna kuning.
8. Memahami ExplorerInitSec
Field:
ExplorerInitSec
berhubungan dengan proses inisialisasi Windows Explorer/shell pada saat login.
Contohnya:
ExplorerInitSec : 10.0
Jika bagian ini membutuhkan waktu sangat lama, beberapa hal yang dapat diperiksa antara lain:
Startup applications
Shell extensions
Network drive
Desktop contents
Explorer integration
Background application
Sekali lagi, nilai tinggi bukan diagnosis final.
Tujuan kita adalah mempersempit area yang perlu diperiksa.
9. Cara Membaca Hasil Secara Keseluruhan
Misalnya kita mendapatkan:
BootTimeSec : 114.6
MainPathBootSec : 32.5
PostBootSec : 82.1
PNPInitSec : 2.5
ExplorerInitSec : 10.0
Analisis Performa Boot Windows

Gambar 3. Contoh analisis BootTime, MainPath, PostBoot, PNP, dan Explorer untuk mempersempit penyebab Windows booting lama.
Kita bisa mulai membuat peta pemeriksaan:
Boot total tinggi
│
▼
Periksa komponennya
│
├── MainPath tinggi?
│ │
│ ├── driver
│ ├── storage
│ ├── device
│ └── service
│
├── PNP tinggi?
│ │
│ └── device / driver
│
├── Explorer tinggi?
│ │
│ └── shell / startup
│
└── PostBoot tinggi?
│
├── startup apps
├── services
└── background process
Pendekatan ini lebih baik daripada langsung:
Windows lemot
↓
Install ulang
karena kita mencoba mengetahui penyebabnya terlebih dahulu.
10. Mengecek Aplikasi, Driver, dan Service yang Lambat Saat Startup
Selain Event ID 100, Windows juga dapat mencatat event degradasi startup.
Kita bisa mencari Event ID:
101
102
103
Jalankan:
Get-WinEvent -FilterHashtable @{
LogName='Microsoft-Windows-Diagnostics-Performance/Operational'
Id=101,102,103
} |
Select-Object -First 20 TimeCreated, Id, Message |
Format-List
Contoh output Event ID 101:
TimeCreated : 9/13/2026 9:22:22 AM
Id : 101
Message:
This application took longer than usual to start up,
resulting in a performance degradation in the
system startup process.
File Name : powershell.exe
Friendly Name : Windows PowerShell
Total Time : 12240ms
Degradation Time : 7240ms
Contoh Event ID 101

Gambar 4. Contoh Event ID 101 yang mencatat aplikasi yang membutuhkan waktu lebih lama selama periode startup Windows.
Dari sini kita mendapatkan informasi tambahan mengenai proses yang dianggap Windows membutuhkan waktu lebih lama saat startup.
Namun ada hal penting.
Jangan langsung menganggap semua aplikasi yang muncul pada Event ID 101 sebagai penyebab utama Windows lambat.
Kita perlu melihat konteks.
Misalnya PowerShell dibuka sendiri sesaat setelah login, aktivitas tersebut bisa ikut tercatat pada periode startup/post-boot.
Karena itu hasil Event Viewer harus dianalisis bersama kondisi penggunaan komputer pada saat pengukuran.
11. Melakukan Pengukuran Boot yang Lebih Bersih
Untuk mendapatkan hasil yang lebih mudah dianalisis, lakukan pengujian boot dalam kondisi relatif bersih.
Restart komputer.
Setelah desktop muncul:
Jangan langsung buka browser
Jangan langsung buka PowerShell
Jangan buka aplikasi berat
Jangan menjalankan update
Tunggu sekitar 2–3 menit
Setelah sistem relatif idle, baru buka PowerShell sebagai Administrator.
Kemudian jalankan kembali:
$e = Get-WinEvent -FilterHashtable @{
LogName='Microsoft-Windows-Diagnostics-Performance/Operational'
Id=100
} -MaxEvents 1
[xml]$xml = $e.ToXml()
$data = @{}
foreach ($item in $xml.Event.EventData.Data) {
$data[$item.Name] = $item.'#text'
}
[PSCustomObject]@{
TimeCreated = $e.TimeCreated
BootTimeSec = [math]::Round([int]$data.BootTime / 1000, 1)
MainPathBootSec = [math]::Round([int]$data.MainPathBootTime / 1000, 1)
PostBootSec = [math]::Round([int]$data.BootPostBootTime / 1000, 1)
PNPInitSec = [math]::Round([int]$data.BootPNPInitTime / 1000, 1)
ExplorerInitSec = [math]::Round([int]$data.BootExplorerInitTime / 1000, 1)
}
Dengan metode ini kita mengurangi aktivitas tambahan yang dapat memengaruhi periode pengukuran setelah login.
12. Membuka Diagnostics-Performance dari Event Viewer
Jika tidak ingin selalu menggunakan PowerShell, data yang sama juga dapat diperiksa melalui Event Viewer.
Tekan:
Win + R
kemudian:
eventvwr.msc
Buka:
Event Viewer
│
▼
Applications and Services Logs
│
▼
Microsoft
│
▼
Windows
│
▼
Diagnostics-Performance
│
▼
Operational
Diagnostics-Performance di Event Viewer

Gambar 5. Lokasi Diagnostics-Performance → Operational pada Windows Event Viewer untuk melihat event performa startup.
Di sini kita bisa melihat event seperti:
100
101
102
103
Event Viewer berguna ketika kita ingin membaca detail sebuah event secara visual tanpa harus memprosesnya menggunakan PowerShell.
13. Mengecek Startup Apps
Jika hasil pemeriksaan mengarah ke fase setelah login, periksa aplikasi startup.
Cara paling mudah:
Ctrl + Shift + Esc
Buka:
Task Manager
│
▼
Startup
atau pada versi Windows yang lebih baru:
Task Manager
│
▼
Startup apps
Periksa aplikasi yang otomatis berjalan ketika Windows login.
Contohnya bisa berupa:
Game launcher
Cloud storage
Updater
Chat application
Adobe service
Vendor utility
Browser helper
Jangan men-disable semua aplikasi secara sembarangan.
Nonaktifkan hanya aplikasi yang memang Anda pahami dan tidak perlu berjalan otomatis.
14. Mengecek Event Disk yang Berkaitan dengan Storage
Booting lambat juga bisa berhubungan dengan storage.
Salah satu pemeriksaan awal yang dapat dilakukan adalah mencari event disk tertentu.
Contohnya:
Get-WinEvent -FilterHashtable @{
LogName='System'
Id=129,153
} -MaxEvents 20 |
Select-Object TimeCreated, Id, ProviderName, Message |
Format-List
Event ID 129 dan 153 dapat muncul pada kondisi tertentu ketika terjadi timeout/reset atau retry operasi storage.
Namun kemunculan event tersebut tidak boleh langsung diterjemahkan sebagai “hard disk pasti rusak.”
Kita masih perlu melihat:
Provider event
Pesan lengkap event
Jenis storage
Driver/controller
Kondisi SMART
Kabel atau koneksi
Pola error
Gejala komputer
Pemeriksaan storage akan kita bahas lebih detail pada artikel terpisah.
15. Mengecek Status Disk dengan PowerShell
Sebagai pemeriksaan awal, kita juga bisa melihat disk yang dikenali Windows.
Jalankan:
Get-Disk |
Select-Object Number, FriendlyName, SerialNumber, HealthStatus, OperationalStatus, Size
Contoh:
Number : 0
FriendlyName : WDC WD5000AZLX
HealthStatus : Healthy
OperationalStatus : Online
Perlu diperhatikan bahwa:
HealthStatus = Healthy
tidak selalu berarti disk pasti bebas dari semua masalah.
Untuk diagnosis storage yang lebih lengkap, kita perlu menggabungkan beberapa sumber informasi.
Misalnya:
Windows Event Log
+
SMART / reliability counter
+
gejala fisik
+
benchmark jika diperlukan
+
pemeriksaan filesystem
16. Jangan Langsung Menjalankan CHKDSK /f atau /r
Ketika komputer lambat, salah satu saran yang sering muncul di internet adalah:
chkdsk C: /f
atau:
chkdsk C: /r
Tetapi saya lebih memilih melakukan diagnosis terlebih dahulu.
Kita dapat memulai dengan pemeriksaan yang tidak langsung meminta perbaikan filesystem:
chkdsk C:
Kemudian lihat hasilnya.
Untuk drive sistem, penggunaan /f biasanya membutuhkan proses perbaikan filesystem dan dapat meminta pemeriksaan pada restart.
Sedangkan /r melakukan pemeriksaan yang lebih berat karena juga mencari bad sector dan mencoba membaca data yang masih dapat dibaca.
Jika storage dicurigai mengalami kerusakan fisik dan terdapat data penting, backup atau recovery data harus menjadi pertimbangan utama sebelum menjalankan operasi berat pada disk.
Topik CHKDSK akan lebih aman jika dibahas pada artikel tersendiri.
17. Jangan Mengubah Banyak Hal Sekaligus
Saat troubleshooting Windows, hindari pola seperti:
Windows lambat
↓
Disable 15 services
↓
Uninstall banyak aplikasi
↓
Update semua driver
↓
Jalankan registry cleaner
↓
CHKDSK /r
↓
Masih lambat
↓
Tidak tahu perubahan mana yang berpengaruh
Lebih baik:
Ukur kondisi awal
│
▼
Temukan indikasi
│
▼
Ubah satu hal
│
▼
Restart
│
▼
Ukur kembali
│
▼
Bandingkan
Dengan cara tersebut kita bisa mengetahui apakah perubahan benar-benar memberikan efek.
18. Contoh Alur Troubleshooting Windows Booting Lama
Secara keseluruhan, workflow yang bisa digunakan:
Windows booting lama
│
▼
Ambil Event ID 100
│
▼
Lihat BootTime
│
├───────────────┐
▼ ▼
MainPath tinggi? PostBoot tinggi?
│ │
▼ ▼
Driver/device Startup apps
Storage Services
Service Background process
│ │
└───────┬───────┘
▼
Event 101/102/103
│
▼
Periksa event System
│
▼
Event 129/153?
│
▼
Periksa storage
│
▼
Lakukan satu perubahan
│
▼
Restart
│
▼
Ukur Event ID 100
│
▼
Bandingkan hasil
Dengan workflow seperti ini troubleshooting menjadi lebih terstruktur.
19. Command Ringkas untuk Troubleshooting
Berikut beberapa command yang digunakan pada artikel ini.
Melihat boot event terbaru
Get-WinEvent -FilterHashtable @{
LogName='Microsoft-Windows-Diagnostics-Performance/Operational'
Id=100
} -MaxEvents 1
Melihat event degradasi startup
Get-WinEvent -FilterHashtable @{
LogName='Microsoft-Windows-Diagnostics-Performance/Operational'
Id=101,102,103
} |
Select-Object -First 20 TimeCreated, Id, Message |
Format-List
Melihat event storage 129 dan 153
Get-WinEvent -FilterHashtable @{
LogName='System'
Id=129,153
} -MaxEvents 20 |
Select-Object TimeCreated, Id, ProviderName, Message |
Format-List
Melihat disk
Get-Disk |
Select-Object Number, FriendlyName, SerialNumber, HealthStatus, OperationalStatus, Size
Membuka Event Viewer
eventvwr.msc
Membuka Device Manager
devmgmt.msc
Pemeriksaan filesystem dasar
chkdsk C:
20. Catatan Keamanan
Command pada artikel ini sebagian besar digunakan untuk membaca informasi dan melakukan diagnosis.
Tetapi tetap perhatikan command yang ditemukan dari internet sebelum menjalankannya sebagai Administrator.
Jangan menjalankan command yang tidak dipahami, terutama command yang:
menghapus file
mengubah registry
mematikan service
mengubah permission
memformat drive
mengubah partition
memodifikasi boot configuration
Untuk troubleshooting, prinsip yang saya gunakan adalah:
Read
↓
Understand
↓
Diagnose
↓
Backup jika diperlukan
↓
Change
↓
Measure again
Bukan:
Copy command dari internet
↓
Paste sebagai Administrator
↓
Enter
Kesimpulan
Windows booting lama tidak selalu harus diselesaikan dengan install ulang.
Windows sendiri menyediakan informasi yang cukup berguna melalui Diagnostics-Performance Event Log.
Dengan PowerShell kita bisa mengambil beberapa parameter seperti:
BootTime
MainPathBootTime
BootPostBootTime
BootPNPInitTime
BootExplorerInitTime
Kemudian kita dapat mempersempit kemungkinan penyebab:
Main Path tinggi
│
└── periksa driver, device, storage, service
PNP tinggi
│
└── periksa perangkat dan driver
Explorer tinggi
│
└── periksa shell dan startup
PostBoot tinggi
│
└── periksa aplikasi dan background process
Jika ditemukan indikasi masalah storage, pemeriksaan dapat dilanjutkan menggunakan Event Viewer, PowerShell, SMART, dan tool diagnosis lainnya.
Yang paling penting adalah mengukur kondisi sebelum dan sesudah melakukan perubahan.
Dengan begitu kita tidak hanya membuat Windows terasa lebih cepat, tetapi juga memahami bagian mana yang sebenarnya menyebabkan masalah.
Artikel Selanjutnya
Artikel ini akan menjadi bagian dari seri Windows Troubleshooting CodeSyariah.
Beberapa pembahasan berikutnya yang akan kita buat:
Part 1
Cara Mengecek Penyebab Windows Booting Lama dengan PowerShell
↓
Part 2
Cara Membaca Event ID 129 dan 153 pada Windows
↓
Part 3
Cara Mengecek Kesehatan HDD dan SSD dengan PowerShell
↓
Part 4
Cara Menggunakan CHKDSK dengan Aman
↓
Part 5
Cara Mengetahui Aplikasi yang Memperlambat Startup Windows
Pada artikel berikutnya kita akan membahas lebih dalam mengenai:
Event ID 129 dan 153 Windows: Penyebab Disk Retry dan Cara Mengeceknya
Kita akan melihat bagaimana Windows mencatat masalah pada storage, bagaimana membaca pesan event dengan benar, serta bagaimana membedakan indikasi masalah driver, controller, filesystem, dan kemungkinan masalah fisik pada disk.
Sampai jumpa di catatan CodeSyariah berikutnya.

