file boot OS. Apa itu bootloader? Menghidupkan komputer, POST, BootMonitor

Sayangnya, terkadang Anda dapat menemui masalah yang cukup serius saat menyalakan komputer dan memulai sistem operasi, meskipun hingga titik tertentu tidak ada tanda-tanda masalah. Kebetulan paling sering komputer menyala, tetapi sistem operasi tidak dimulai. Situasi inilah yang akan dibahas lebih lanjut. Mari kita lihat pertanyaan terkait mengapa komputer tidak bisa boot dan apa yang harus dilakukan dalam situasi seperti itu. Ada beberapa solusi universal di sini.

Komputer menyala, tetapi sistem operasi tidak dapat dijalankan: alasan

Di antara semua kemungkinan situasi ketika kegagalan terjadi pada tahap pemuatan, beberapa kasus umum dapat diidentifikasi.

Ada tiga opsi:

  • layar hitam muncul;
  • BSoD layar biru terjadi;
  • Sistem operasi dimulai, tetapi tidak dapat melakukan booting sepenuhnya.

Dalam kasus pertama, ketika komputer tidak dapat dihidupkan (boot tidak menyala), pesan mungkin muncul di layar hitam yang menunjukkan masalah fisik atau perangkat lunak. Dalam kasus paling sederhana, ketika tidak ada hal serius yang terjadi, sistem mungkin melaporkan bahwa, misalnya, keyboard tidak ada (untuk PC desktop). Solusi paling sederhana adalah menghubungkannya dan reboot.

Jika komputer menyala, tetapi boot tidak dimulai, dan peringatan tentang kegagalan perangkat lunak atau file yang hilang muncul di layar hitam, ada banyak alasan yang menyebabkan perilaku sistem ini. Diantaranya, pertama-tama, kita dapat menyoroti masalah dengan hard drive, kerusakan pada sistem operasi (penghapusan komponen sistem atau entri registri secara tidak sengaja atau disengaja), paparan virus, entri sektor boot yang salah, konflik RAM, dll. Omong-omong, jika layar biru muncul, ini terutama berlaku untuk RAM atau driver perangkat yang baru diinstal, yang menyebabkan konflik bukan pada tingkat perangkat lunak, tetapi pada tingkat fisik.

Apa yang harus dilakukan jika komputer tidak bisa boot dan sistem operasi tidak dapat dijalankan karena alasan di atas? Tergantung pada situasinya, ada beberapa solusi. Bagi pengguna yang belum tahu, hal ini mungkin tampak cukup rumit, namun dalam situasi tertentu hanya hal tersebut yang dapat digunakan untuk menyadarkan sistem. Oleh karena itu, Anda harus menghabiskan waktu dan tenaga.

Komputer menyala tetapi tidak bisa boot: apa yang harus dilakukan pertama kali?

Jadi, mari kita mulai dengan hal yang paling sederhana. Mari kita asumsikan bahwa telah terjadi kegagalan teknis jangka pendek pada sistem, misalnya karena pemadaman yang tidak tepat atau lonjakan daya.

Biasanya, hampir semua modifikasi Windows yang digunakan saat ini biasanya secara otomatis mengaktifkan startup saat restart. Jika ini tidak terjadi, sebelum memulai sistem Anda harus menggunakan tombol F8 untuk memanggil menu boot tambahan (Windows 10 menggunakan metode yang berbeda) .

Komputer menyala, tetapi sistem operasi tidak dapat dijalankan? Tidak perlu kesal. Di sini, dalam versi paling sederhana, Anda dapat memilih baris untuk memuat konfigurasi kerja terakhir. Jika semuanya beres dengan komponen sistem, sistem akan melakukan booting tanpa masalah. Jika ini tidak membantu, Anda harus menggunakan bagian pemecahan masalah, dan terkadang bahkan mencoba mem-boot ke mode aman mungkin berhasil.

Kemungkinan infeksi virus

Sayangnya, virus juga bisa menyebabkan situasi seperti itu. Apa yang harus dilakukan jika komputer tidak menyala? Cara untuk mengatasi masalah khusus ini adalah dengan menggunakan cara yang ampuh yang dapat memeriksa ancaman bahkan sebelum OS itu sendiri dimulai.

Di antara berbagai perangkat lunak anti-virus, perlu diperhatikan utilitas disk khusus yang dimulai langsung dari media optik atau perangkat USB, memiliki catatan boot sendiri dan bahkan antarmuka grafis seperti Windows. Salah satu alat paling canggih adalah Kaspersky Rescue Disk. Penggunaannya dapat menjamin hampir seratus persen deteksi virus, bahkan yang bersembunyi di RAM.

Konflik RAM

Sekarang mari kita lihat apa yang harus dilakukan jika komputer tidak bisa boot dan malah muncul layar biru. Seperti yang telah disebutkan, paling sering ini menunjukkan masalah pada driver dan RAM. Kami belum menyentuh drivernya, tapi mari kita lihat RAM-nya.

Solusi yang diusulkan untuk masalah jika komputer tidak bisa boot terutama dirancang untuk PC stasioner. Dalam situasi ini, Anda harus melepas semua memory stick, lalu memasukkannya satu per satu dan memeriksa muatannya. Mungkin salah satunya adalah link penyebab kegagalan. Hal ini dapat terjadi jika trim dari pabrikan berbeda ditambahkan.

Jika sistem entah bagaimana dapat melakukan booting menggunakan mode aman yang sama, RAM harus segera diperiksa menggunakan utilitas Memtest86+, yang akan membantu mengidentifikasi penyebab sebenarnya dari masalah tersebut.

Sistem tidak melihat hard drive

Sekarang situasi terburuknya adalah ketika komputer tidak bisa boot. Penyebab dan solusinya mungkin terkait dengan harddisk.

Hard drive dapat mengalami masalah perangkat lunak dan fisik, meskipun terkadang bukan itu masalahnya. Masalahnya mungkin sangat sepele: pengguna dalam pengaturan BIOS telah menetapkan prioritas untuk mem-boot dari perangkat yang dapat dilepas, misalnya, dari disk optik, yang saat ini ada di drive, tetapi bukan perangkat sistem. Anda hanya perlu menghapusnya dan mengunduhnya lagi.

Di sisi lain, masalah lain yaitu komputer tidak dapat dijalankan (sistem tidak dapat dijalankan) mungkin disebabkan oleh fakta bahwa bootloader dan catatan pada sektor terkait rusak. Solusi untuk situasi ini akan dibahas nanti. Namun dalam kasus paling sederhana, Anda dapat mencoba memulihkan data disk menggunakan utilitas Pemulihan.

Terkadang mengubah pengaturan sistem input/output BIOS utama juga membantu. Di sini Anda perlu menemukan bagian yang terkait dengan pengaturan hard drive, dan di parameter konfigurasi SATA, nonaktifkan penggunaan mode AHCI.

Terakhir, hard drive mungkin juga mengalami kerusakan fisik semata, dan hal ini tidak dapat dilakukan tanpa campur tangan pihak luar.

Menggunakan disk instalasi

Banyak pengguna yang jelas-jelas meremehkan bantuan yang dapat diberikan oleh instalasi atau citra sistem dalam memecahkan masalah yang terkait dengan situasi ketika komputer menyala, tetapi sistem operasi tidak dapat dimuat.

Pertama, hampir semua kit menyertakan apa yang disebut konsol pemulihan, yang dengannya Anda dapat menghilangkan banyak kegagalan perangkat lunak, dan kedua, Anda dapat menggunakan baris perintah di sini. Omong-omong, ini adalah metode yang paling efektif. Selanjutnya akan jelas cara kerjanya.

Masalah dengan bootloader BOOTMGR

Dipercaya bahwa masalah paling umum ketika komputer menyala, tetapi sistem operasi tidak dapat dijalankan, adalah kerusakan pada manajer boot Windows (Boot Manager). Dalam hal ini, sistem hanya menulis bahwa tidak ada partisi sistem (tidak melihat hard drive).

Anda dapat memperbaiki masalah ini dengan memulai dari disk boot dan membuka baris perintah di konsol pemulihan, yang dapat Anda buka dengan menekan tombol “R”. Selanjutnya, Anda harus terlebih dahulu menggunakan perintah periksa disk dan kemudian memperbaiki (memulihkan) catatan boot.

Seluruh rangkaiannya terlihat seperti ini:

  • chkdsk c: /f /r;
  • Bootrec.exe /FixMbr;
  • Bootrec.exe /FixBoot.

Setelah memasukkan perintah, tanda baca tidak ditempatkan, tetapi tombol enter ditekan. Jika karena alasan tertentu menjalankan perintah ini tidak memberikan efek positif, Anda dapat menggunakan penulisan ulang lengkap sektor boot, yang dilakukan dengan perintah Bootrec.exe / RebuildBcd. Jika hard drive tidak rusak secara fisik, ini akan berfungsi, seperti yang mereka katakan, seratus persen.

Anda juga dapat menggunakan beberapa utilitas pihak ketiga. Program yang paling cocok tampaknya adalah alat yang disebut MbrFix, yang disertakan dalam CD Boot Hiren. Setelah memanggilnya, misalnya, untuk Windows 7, asalkan sistem khusus ini diinstal, dan hanya pada satu disk (tidak ada partisi), berikut ini harus ditulis:

  • MbrFix.exe /drive 0 fixmbr /win7.

Ini akan menyelamatkan pengguna dari keharusan membuat perubahan pada catatan boot, dan boot akan dipulihkan.

Masalah saat mengakses file NTLDR

Ketika pesan muncul bahwa komponen tertentu hilang dari sistem, boot commit diterapkan terlebih dahulu, seperti pada kasus sebelumnya.

Namun, jika hasilnya tidak tercapai, Anda perlu menyalin file asli ke root partisi sistem. Misalnya, jika drivenya adalah "C" dan drive tersebut adalah "E", perintahnya akan terlihat seperti ini:

  • E:\i386> copy ntldr C:\ (setelah menyalin, sistem akan boot tanpa masalah).

File HAL.dll rusak atau hilang

Jika komputer menyala, tetapi sistem operasi tidak bisa boot secara normal, penyebabnya mungkin komponen HAL.dll yang rusak (pemberitahuan terkait mungkin ditampilkan di layar).

Dalam situasi ini, Anda perlu mem-boot sistem dalam mode aman, memanggil konsol perintah dan menulis baris berikut di dalamnya:

  • C:\windows\system32\restore\rstrui.exe (lalu tekan tombol Enter dan restart).

Daripada total

Berikut adalah ringkasan singkat dari segala sesuatu yang berhubungan dengan pemecahan masalah ketidakmampuan untuk memulai sistem operasi. Tentu saja, masalah yang mungkin disebabkan oleh daya rendah, kegagalan baterai CMOS, sambungan kabel yang longgar, debu di dalam unit sistem, atau malfungsi lainnya tidak dibahas di sini. Namun dari segi perangkat lunak, metode di atas bekerja dengan sempurna.

Pernahkah Anda bertanya-tanya apa yang terjadi pada sistem operasi saat ia menggambar logonya dan mengatakan “Memulai Windows”? Dan secara umum, mengapa pemuatannya memakan waktu lama? Lagi pula, ketika sistem dimulai, tidak ada masalah yang rumit dari sudut pandang komputasi yang terpecahkan!

Lalu apa yang dimaksud dengan memuat sistem operasi? Untuk sebagian besar, hal ini melibatkan pemetaan modul yang dapat dieksekusi ke dalam memori dan inisialisasi struktur data layanan. Struktur data tinggal di memori, jadi pengoperasiannya, secara teori, harus cepat. Semuanya menunjukkan bahwa waktu dihabiskan justru oleh proses memuat modul yang dapat dieksekusi ke dalam memori.

Untuk bersenang-senang, mari kita cari tahu modul mana, dalam jumlah berapa, dan dalam urutan apa yang dimuat saat OS dimulai. Untuk mengetahuinya, misalnya Anda dapat memperoleh log boot sistem. OS pengujian dalam kasus saya adalah Windows 7 Enterprise x64. Kami akan mencatat proses boot menggunakan debugger kernel. Ada beberapa opsi untuk debugger kernel, secara pribadi saya lebih suka WinDbg. Kita juga memerlukan beberapa alat untuk secara ajaib mengubah log menjadi sesuatu yang lebih enak dipandang.

Penambangan dan kerajinan

Menyiapkan debugging mudah dilakukan di Google, jadi saya tidak akan menjelaskan proses ini secara detail. Karena kita tertarik pada segala sesuatu yang terjadi sejak sistem dimulai, kita perlu mencentang item "Siklus Istirahat Awal", yang dengannya debugger akan berhenti segera setelah subsistem debugging kernel dimuat dalam sistem yang sedang di-debug. . Menggandakan output ke file dapat dilakukan dengan menggunakan perintah ".logopen" dan ".logclose", sederhana saja. Perintah lain yang berguna adalah ".cls". Ini menghapus layar perintah, dan ya, hanya layar perintah.

Fungsi yang kami minati adalah “MiCreateImageFileMap”. Ini adalah fungsi internal manajer memori yang memetakan file yang dapat dieksekusi ke dalam memori. Pemetaan memori terjadi ketika suatu bagian dibuat, misalnya, ketika file yang dapat dieksekusi diluncurkan. Namun, perlu diingat bahwa hanya karena file yang dapat dieksekusi dipetakan ke dalam memori tidak menjamin bahwa kodenya akan dieksekusi! Fungsi ini hanya membuat proyeksi, paling sering “sebagai cadangan”, sehingga jika seseorang memutuskan untuk menjalankan modul untuk dieksekusi, hal ini dapat menghemat waktu pemuatan. Mari kita atur breakpoint logging pada fungsi ini.

Jika Anda memiliki cukup mana, masukkan perintah berikut:
bu nt!MiCreateImageFileMap "dt nt!_EPROCESS -d ImageFileName @$proc; dt nt!_FILE_OBJECT -d FileName @rcx; g"
Garis ajaib secara harfiah berarti sebagai berikut:

  • bu (Atur Breakpoint yang Belum Terselesaikan) - atur breakpoint yang belum terselesaikan. Bukan karena seseorang atau sesuatu tidak mengizinkannya, hanya saja untuk menginstalnya Anda perlu memutuskan di alamat mana Anda akan meletakkannya. Faktanya, tidak diketahui sebelumnya di alamat mana seharusnya lokasinya. Saat memuat modul apa pun, keberadaan fungsi yang diperlukan diperiksa, dan jika fungsi tersebut ditemukan, breakpoint diatur secara otomatis. Metode instalasi ini sangat diperlukan ketika ASLR diaktifkan - pengacakan ruang alamat, karena modul akan dimuat di alamat yang berbeda setiap kali, dan breakpoint yang disetel pada alamat tetap kemungkinan besar tidak akan berfungsi.
  • nt!MiCreateImageFileMap adalah simbol untuk berhenti. WinDbg menerima entri dalam bentuk "nama_modul!nama_fungsi". Dalam hal ini, nt adalah alias yang telah ditentukan sebelumnya untuk ntoskrnl.exe.
  • Berikut ini adalah bagian dari skrip WinDbg, yang akan dijalankan setiap kali fungsi ini dihentikan. “dt nt!_EPROCESS -d ImageFileName @$proc” dalam bahasa Rusia berarti “menampilkan bidang ImageFileName dari struktur _EPROCESS dari modul nt, asalkan ditampilkan pada alamat yang ditentukan dalam register semu “proses saat ini”. Berikutnya setelah pemisah ";" perintahnya memiliki arti yang kurang lebih sama, hanya alamat struktur yang diambil dari register rcx, di mana parameter pertama dari fungsi tersebut diteruskan ke Microsoft x64 ABI. "g" berarti "pergi", mis. melanjutkan eksekusi.

Tip singkat untuk menggunakan breakpoint logging: cobalah untuk tidak menggunakan ekstensi debugger (perintah dimulai dengan "!"), karena ini akan membuat logging menjadi lebih lambat.

Ayo pergi! Lepaskan rem breakpoint dan tunggu. Saya menunggu sampai desktop dimuat, mis. Saya masuk. “Panen” yang dihasilkan sedikit diedit, semua yang tidak perlu dipotong untuk kenyamanan pemrosesan lebih lanjut dan diumpankan ke python. Mari kita tidak fokus pada penguraian log. Mari kita perhatikan saja bahwa grafik tersebut sesuai dengan bentuk spiral Archimedes dengan koreksi manual lebih lanjut, karena titik-titiknya saling tumpang tindih. Grafik yang dihasilkan memperhitungkan urutan pemuatan perpustakaan. Sayangnya, kami harus berkorban dengan mempertimbangkan urutan pemuatan file yang dapat dieksekusi relatif terhadap perpustakaan demi keterbacaan grafik.

Peta bintang


Mari kita pilih beberapa grup pemuatan untuk sementara.

OS mulai bekerja di modul ntoskrnl.exe, yang merupakan inti dari OS. Dan untuk lebih spesifiknya - dari fungsi KiSystemStartup(). Bersama dengan komponen sistem yang dapat diunduh, ini membentuk fondasi OS: pemisahan mode operasi, layanan dasar untuk aplikasi pengguna, dll. Grup ini juga mencakup driver yang ditandai untuk dimuat selama startup sistem. Singkatnya, OS Windows lahir di shell ini.

Node berikutnya adalah manajer sesi. Ini diwakili oleh proses pasca-sistem pertama yang dimulai di Windows - smss.exe. Proses ini penting karena merupakan proses asli Windows, artinya tidak menggunakan subsistem Win32, yang umumnya belum dimuat. Proses ini hanya menggunakan layanan sistem operasi asli melalui ntdll.dll, yang merupakan antarmuka mode pengguna ke layanan OS. Proses ini juga merupakan komponen sistem operasi yang tepercaya dan memiliki hak eksklusif, misalnya dapat membuat token keamanan. Namun tujuan utamanya adalah untuk membuat sesi dan menginisialisasi subsistem, baik grafis maupun berbagai subsistem yang dapat dieksekusi (Windows, POSIX). Cangkang ini memenuhi kebutuhan semua orang.

Grup logon terdiri dari beberapa proses. Secara umum, mereka bertanggung jawab untuk menginisialisasi sesi. Ini termasuk menampilkan layar selamat datang, membuat desktop, memulai proses startup dan menginisialisasi subsistem keamanan, dll. Sapu ini menyapu semua orang asing.

Kelompok layanan ternyata yang paling masif. Volumenya sebagian besar berasal dari layanan SuperFetch. Ini adalah orang yang mereka katakan bahwa pada akhir pekan dia memuat ruang kantor terlebih dahulu, dan pada awal minggu kerja - Mengukus dengan mainan. Superfetch memuat sejumlah besar modul saat sistem dimulai, sehingga nantinya “semuanya bekerja lebih cepat.” Selain itu, sistem ini memiliki aplikasi layanan yang cukup dan driver auto-start. Saya rasa semua orang telah melihat snap-in Layanan dan Aplikasi. Bintang kehidupan ini membawa ke dalam sistem segala sesuatu yang dibutuhkan dan tidak terlalu banyak.

Yang terakhir saya sebutkan adalah explorer.exe favorit semua orang. Patut dicatat bahwa pada saat dimulai, semua modul yang digunakannya sudah dimuat ke dalam memori. Tangkapan layar juga menyertakan vcredist_x64.exe tertentu - orang malang itu berbaring di desktop mesin virtual eksperimental dan dimuat ke dalam memori oleh konduktor.

Secara umum, ada banyak cara untuk memuat modul ke dalam memori. Misalnya, cukup meminta informasi dari sumber file yang dapat dieksekusi, termasuk ikonnya. Khususnya dalam contoh ini, penjelajah memeriksa apakah program ini memerlukan hak istimewa yang lebih tinggi, mis. Apakah layak menambahkan gambar yang sesuai dengan perisai kuning-biru ke ikon? Izinkan saya mencatat sekali lagi bahwa memuat modul ke dalam memori tidak berarti mengeksekusi kodenya!

Secara pribadi, saya menyimpan gambar yang dihasilkan di dekat saya. Ini dengan jelas menunjukkan ketergantungan, misalnya, pada driver. Selain itu, jika dipasangkan dengan utilitas Sysinternals Autoruns, Anda dapat melihat pada tahap pemuatan modul tertentu yang ditarik.

Grafik beban dibuat untuk OS Windows 7 Enterprise x64 yang diinstal pada mesin virtual VMware. Di bawah ini adalah gambar vektor grafik dan file itu sendiri dalam format gml, yang dapat Anda mainkan di editor grafik mana pun.

Tujuan, deskripsi, instalasi dan konfigurasi boot loader GRUB yang terkenal http://www.site/linux/zagruzchik-grub http://www.site/@@site-logo/logo.png

Tujuan, deskripsi, instalasi dan konfigurasi boot loader GRUB yang terkenal

Apa itu bootloader?

Pemuat sistem operasi adalah program yang terletak di sektor pertama hard disk (selanjutnya disebut bootloader), misalnya, di MBR (master boot record) hard disk. Setelah pengujian sistem, pada saat boot, BIOS (sistem input/output dasar) mentransfer kendali ke MBR jika sistem dikonfigurasi untuk melakukan booting dari MBR. Kemudian program yang terletak di MBR mulai dijalankan. Program ini disebut bootloader, tugasnya adalah mentransfer kendali ke kernel sistem operasi, yang akan melanjutkan pemuatan.

Ada beberapa boot loader, antara lain GRUB (universal boot loader), Boot manager, LILO (Linux OS boot loader), NTLDR (Windows NT boot loader), dan lain-lain. Saya memutuskan untuk menjelaskan GNU GRUB dan cara menggunakannya.

Apa itu pemuat sistem operasi GRUB?

Pemuat sistem operasi GRUB adalah pemuat boot yang sangat kuat yang dapat mem-boot berbagai sistem operasi seperti Windows, DOS, Linux, GNU Hurd, *BSD dan lain-lain. Saat ini, LILO adalah boot loader paling populer, digunakan oleh hampir semua sistem multi-boot. Namun jika Anda menggunakan LILO, Anda harus ingat untuk me-restart LILO setiap kali Anda mengubah konfigurasi atau menginstal kernel baru. LILO juga tidak sefleksibel GRUB. ini adalah nama tengah dari fleksibilitas. Versi terbarunya adalah 0.5.96.1. Versi ini mendukung sistem file seperti ext2 (digunakan oleh OS Linux), FAT16 dan FAT32 (digunakan oleh Win9x dan WinME), FFS (sistem file cepat yang digunakan oleh *BSD UNIX), ReiserFS (sistem file jurnal yang dikembangkan untuk OS Linux dan diintegrasikan ke dalam Kernel Linux 2.4.1) dan minix (sistem file lama yang dikembangkan untuk OS MINIX, juga digunakan di OS Linux versi sebelumnya). Dengan GRUB Anda dapat “melihat” isi sistem file tanpa mem-boot sistem operasi. Misalnya, jika Anda ingin melihat tanggal dan waktu yang tercatat dalam sebuah file, tetapi tidak punya waktu untuk mem-boot sistem operasi, Anda dapat menggunakan baris perintah GRUB (“grub>”) dan menulis:

grub> cat (nomor partisi)/home/god/nama file.txt

Anda akan menerima isi lengkap file, termasuk tanggal dan waktu.

Manfaat terbesar dari boot loader GRUB adalah ia dapat mem-boot kernel apa pun dari partisi disk mana pun. Misalnya, jika Anda lupa menambahkan kernel yang baru dikompilasi ke dalam daftar, komputer harus melakukan booting secara normal, menambahkannya ke daftar, dan melakukan boot ulang untuk menggunakannya. Namun Anda dapat dengan mudah menggunakan baris perintah boot loader GRUB dan mem-boot kernel yang diinginkan.

Sekarang saya akan menjelaskan tiga langkah utama untuk menggunakan GRUB: kompilasi, instalasi dan konfigurasi.

Langkah 1: Mengkompilasi dan menginstal paket perangkat lunak bootloader GRUB

Unduh sumbernya

GRUB dari ftp://alpha.gnu.org/pub/gnu/grub

Buka paket arsip dengan perintah

“tar -xvzf nama file.tar.gz”. Dalam kasus saya, nama filenya adalah grub-0.5.96.1.tar.gz dan saya melakukannya:

# tar -xvzf grub-0.5.96.1.tar.gz

Perintah ini mengekstrak file dan folder dari arsip ke dalam folder bernama

"grub-0.5.96.1". Sekarang lakukan hal berikut:

# ./konfigurasi

Jika Anda ingin mengubah beberapa pengaturan kompilasi

Misalnya, untuk menambah atau menghapus dukungan untuk sistem file individual, kartu jaringan, ketik:

# ./configure --membantu

Perintah ini akan menampilkan semua opsi yang memungkinkan

Sekarang gunakan awalan –enable dan -disable untuk menambah atau menghapus dukungan untuk perangkat tertentu, dll. CATATAN: GRUB mendukung boot jaringan.)

Untuk memulai proses kompilasi, ketik:

#membuat

Untuk menginstal semua file, ketik:

# buat instal

Anda telah menginstal paket perangkat lunak GRUB, sekarang Anda dapat mulai menginstal boot loader GRUB ke dalam sektor boot.

Sebaiknya simpan semua file boot yang berhubungan dengan boot di direktori /boot/grub. Untuk melakukannya, ikuti contoh ini: Secara default, semua file bootloader diinstal di /use/share/i386-pc atau /use/local/share/grub/i386-pc tergantung pada bagaimana variabel lingkungan didefinisikan. Buat direktori /boot/grub. Kemudian salin file berikut ke dalam folder:

Saya akan menjelaskan file-file ini nanti. Salin juga program GRUB (yang mungkin terletak di /usr/sbin atau /use/local/sbin) ke folder /boot/grub.

Sebelum Anda menginstal GRUB, Anda harus mengetahui bagaimana GRUB memahami informasi hard drive dan partisi. Pertama-tama, hitungan mundur dimulai dari 0, bukan 1. Di Linux, hard drive pertama yang terpasang ke pengontrol utama disebut “hda”, dan di GRUB disebut “hd0”. Demikian pula, floppy drive di GRUB disebut “fd0”. Jadi, partisi pertama, kedua dan ketiga pada hard drive pertama (hda1, hda2, hda3) disebut “hd0.0”, “hd0.1” dan “hd0.2” di GRUB. CATATAN: Koma merupakan bagian integral dari nama partisi hard disk di GRUB.

Gunakan tanda kurung untuk menjelaskan dua bidang (nomor disk dan disk, nomor partisi disk). Misalnya: (hd0,0) (hd0,1) (hd0,2) dan seterusnya. (hd0,0) adalah partisi pertama dari disk pertama. Demikian pula, (hd1,5) adalah partisi keenam dari disk kedua, dan (hd2,0) adalah partisi pertama dari disk ketiga.

Langkah 2: Menginstal pemuat sistem operasi GRUB

Instalasi bootloader sendiri dapat dibagi menjadi tiga tahap

: Instalasi "stage1" di MBR. Setting alamat atau lokasinya, "tahap2". Siapkan menu boot atau serangkaian opsi untuk memilih sistem operasi yang akan di-boot.

Mulai instalasi dengan perintah berikut:

# ./grub

Perintah ini melakukan polling perangkat dan menampilkan pesan. Ini mungkin memakan waktu lama.

end_request: Kesalahan I/O, dev 02:00 (floppy), sektor 0

GRUB versi 0.5.96.1 (memori 640K lebih rendah / 3072K atas)

CATATAN: GRUB memiliki shell minimal yang mirip dengan bash. Untuk kata pertama, TAB menampilkan semua kemungkinan penyelesaian perintah. Dalam kasus lain, TAB menampilkan kemungkinan akhiran untuk nama perangkat dan nama file. Anda mungkin akan terkejut dengan fitur ini. Hal seperti ini mungkin terjadi:

grub> instal (hd0,4)/boot/grub/stage1 (hd0) (hd0,4)/boot/grub/stage2 p (hd0,4)/boot/grub/menu.conf

Sekarang mari kita lihat perintah ini lebih detail:

perintah bawaan yang menyebabkan GRUB menginstal (hd0,4)/boot/grub/grub/stage1 ke (hd0), MBR.

(hd0,4)/boot/grub/stage2

menunjukkan di mana gambar stage2 berada. dengan opsi berikut: (hd0,4)/boot/grub/menu.conf

mengatur file konfigurasi untuk menampilkan menu yang diinginkan. Saya akan menjelaskan struktur file konfigurasi nanti.

Kita dapat meringkas perintahnya:

Sekarang Anda memiliki instalasi dasar.

Instalasi pada floppy disk:

Untuk menginstal GRUB pada floppy disk, Anda harus mengetahui perintah “dd” dan cara kerjanya. Untuk floppy GRUB yang dapat di-boot, Anda harus menulis file stage1 dan stage2 ke sektor pertama dari floppy tersebut.

Menginstall stage1 pada floppy disk

Masukkan floppy disk yang telah diformat dan ketik:

# dd if=tahap1 dari=/dev/fd0 bs=512 hitungan=1

Mari kita lihat kembali perintahnya lebih detail:

dalam kasus kami tahap 1

misalnya, disk drive (mungkin berbeda dari contoh perangkat di komputer Anda)

bs=byte untuk membaca dan menulis

Dalam kasus kami

count=berapa kali melakukan operasi ini

jumlah salinan.

Menginstall stage2 pada floppy disk

[root@heaven /boot/grub ]# dd if=stage2 of=/dev/fd0 bs=512 seek=1

Semuanya di sini sama seperti pada stage1, kecuali parameter baru yang disebut seek. Opsi ini menyebabkan satu nilai "bs" dilewati. Misalnya, dalam perintah yang dijelaskan di atas, bs adalah 512 byte, maka seek=1 berarti melewatkan 512 byte pertama pada floppy disk dan melanjutkan penulisan dari byte ke-513. Ini akan menjaga hasil perintah pertama, data tertulis tidak akan rusak karena ditimpa.

Sekarang Anda memiliki instalasi sederhana dari boot loader GRUB pada floppy disk.

Langkah 3: Konfigurasi pemuat sistem operasi GRUB

Di bagian ini kita akan melihat cara mem-boot sistem operasi yang berbeda dan membuat menu.conf - file konfigurasi menu.

Mari kita mulai dengan prosedur booting yang didukung oleh GRUB. Pengunggahan dapat dilakukan dengan dua cara:

1) Transfer kendali ke kernel OS

2) Mentransfer kontrol ke bootloader lain: Tentukan perangkat root atau sistem file root. Beritahu GRUB lokasi kernel sistem dan parameternya. Nyalakan kembali komputer Anda dan coba ini.

Saya memiliki kernel Linux di direktori/boot bernama bzImage dan sistem file root adalah/dev/hda5 atau (hd0,4) di GRUB. Oleh karena itu prosedur boot saya terlihat seperti ini: [ Menunjukkan partisi root]

2. kernel /boot/bzImage root=/dev/hda5 Menunjukkan kernel]

[ Menunjukkan kernel]

3. boot Mulai mem-boot Linux]

[ Mulai mem-boot Linux]

Prosedur booting menggunakan metode kedua mengasumsikan adanya boot loader lain, misalnya LILO atau NTLDR, yang diinstal pada salah satu partisi hard disk: Tentukan partisi root, tetapi jangan mount. Aktifkan bagian 3.

Tentukan sektor pertama perangkat yang kontrolnya akan ditransfer. Nyalakan kembali komputer Anda dan coba ini.

Saya akan memberikan contoh dengan OS Windows yang terinstal di /dev/hda1 atau (hd0,0). Prosedur boot Windows adalah sebagai berikut: [+1 menunjukkan sektor pertama dari partisi utama saat ini]

4. kontrol transfer boot]

[ kontrol transfer]

file tersebut digunakan untuk mem-boot berbagai sistem operasi dan konfigurasi menu. Membuat file menu.conf tidaklah sulit. Seperti yang akan Anda lihat di bagian ini, ini menggunakan teks bahasa Inggris.

Semua entri menu dimulai dengan "judul TITLENAME" tanpa koma. Anda dapat menetapkan TITLENAME pada apa pun.

Untuk membuat menu boot Linux: Tetapkan judul. Instal partisi root. Instal kernel dan parameternya. Booting.

Untuk membuat menu kerja:

judul Debian GNU/Linux 2.2 kernel 2.4.1

kernel /boot/bzImage.2.4.1

(A (#) di awal baris menunjukkan komentar.)

Untuk membuat menu untuk

Windows atau DOS:

rootnoverify(hd0,0)

Tetapi bagaimana jika Anda ingin menginstal dua salinan sistem operasi Windows di komputer Anda, satu untuk Anda sendiri, yang lain untuk keluarga Anda, dan Windows selama instalasi melaporkan bahwa satu salinan OS telah diinstal?

Ada cara mudah untuk menginstal dua salinan OS di komputer Anda dengan menyembunyikan salah satu partisi hard drive saat memuat dan menggunakan partisi lainnya. Pada saat yang sama, Anda dapat melindungi bagian tersebut dengan kata sandi, sehingga tidak ada orang yang dapat menggunakannya secara tidak sengaja. Di bawah ini adalah contoh cara membuat beberapa instance OS Windows, hda1 dan hda2 atau (hd0,0) dan (hd0,1), menggunakan perintah lock, password, hide dan unhide.

Untuk OS Windows "Entri Saya":

rootnoverify(hd0,0)

Untuk menggunakan perintah kunci secara efektif, Anda harus menentukan perintah kata sandi di awal file konfigurasi. Sintaks perintah kata sandi adalah sebagai berikut: kata sandi rahasia (“rahasia” adalah kata sandi). Anda dapat memasukkan kata sandi kapan saja dengan menekan tombol p.

Untuk "Entri Keluarga" OS Windows:

judul Entri Keluarga

rootnoverify(hd0,1)

Siapa pun dapat melakukan booting dari partisi ini selama tidak diperlukan kata sandi.

Ada trik menarik lainnya dengan menggunakan perintah

kata sandi. Untuk menyembunyikan item dalam daftar file konfigurasi default, Anda dapat memuat daftar Anda sendiri menggunakan perintah berikut:

/boot/grub/secret-list.conf

Dalam perintah ini, "rahasia" adalah kata sandinya, dan /boot/grub/secret-list.conf adalah file kata sandinya. Sebelum melakukan ini, Anda harus mengatur partisi root dan path lengkap. Misalnya:

Perintah penting lainnya adalah perintah "peta", yang dapat Anda gunakan ketika Anda memiliki dua hard drive dan sistem operasi yang tidak dapat melakukan booting dari drive kedua, seperti OS Windows. Anda dapat menampilkan hd0 sebagai hd1 dan hd1 sebagai hd0. Dengan kata lain, Anda dapat menukar hard drive secara virtual. Contoh:

grub> peta (hd0) (hd1)

grub> peta (hd1) (hd0)

Untuk mem-boot OS FreeBSD:

judul FreeBSD 4.0

kernel /boot/loader

Di sini kami mentransfer kontrol ke bootloader OS FreeBSD. Anda dapat melihat bahwa partisi root (hd0,4,a) menyertakan tiga argumen, hal ini karena FreeBSD secara virtual berbagi partisi hard drive yang ada. Kami mentransfer kontrol ke subpartisi root dari partisi hard disk "a". Jika FreeBSD menempati seluruh disk sistem Anda, maka partisi root akan diberi nama (hd0,a). Jadi kami menyerahkan kendali ke bootloader FreeBSD, yang jauh lebih baik daripada menyerahkan kendali langsung ke kernel FreeBSD karena beberapa alasan.

Anda telah memahami instalasi dasar paket GRUB, boot loader itu sendiri, serta konfigurasi dasar. Semakin Anda mengenal GRUB, Anda akan semakin menganggapnya sebagai alat manajemen boot yang paling kuat.

Berbagai perintah GRUB:

xx adalah label boot default.

yy adalah batas waktu setelah GRUB akan memulai booting secara default.

zz adalah label boot yang akan dimuat GRUB jika label default gagal dimuat setelah waktu habis.

Digunakan untuk mewarnai menu. Sintaksnya adalah: warna normal seleksi_saat ini. Kedua bidang dapat memiliki dua nilai, seperti warna latar depan dan latar belakang. Misalnya:

warna hijau/hitam atau abu-abu muda/biru

Anda juga dapat menggunakan nomor yang sesuai.

INGAT: semua nilai dimulai dari 0, oleh karena itu 0 adalah elemen pertama.

Operasi dengan dokumen

Memuat sistem operasi

File sistem operasi disimpan di memori eksternal jangka panjang (hard, floppy, atau laser disk). Namun, program hanya dapat berjalan jika berada di dalam RAM, sehingga file sistem operasi harus dimuat ke dalam RAM.

Disk (hard, floppy atau laser) tempat file sistem operasi berada dan dari mana file tersebut dimuat disebut sistemik.

Setelah komputer dihidupkan, sistem operasi dimuat dari disk sistem ke dalam RAM. Pengunduhan harus dilakukan sesuai dengan program pengunduhan. Namun agar komputer dapat menjalankan suatu program, program tersebut harus sudah ada di RAM. Penyelesaian kontradiksi ini terdiri dari pemuatan sistem operasi secara berurutan dan selangkah demi selangkah.

Tes mandiri komputer. Komputer dilengkapi memori read-only (ROM) non-volatile yang berisi program untuk menguji komputer dan tahap pertama memuat sistem operasi - ini adalah BIOS (Basic Input/Output System).

Setelah menyalakan daya komputer atau menekan tombol Reset pada unit sistem komputer atau secara bersamaan menekan kombinasi tombol (Ctrl+Alt+Del) pada keyboard, prosesor mulai menjalankan tes mandiri komputer POST (Power-ON Self Test) program. Kinerja prosesor, memori dan perangkat keras komputer lainnya diuji.

Selama pengujian, pesan diagnostik pertama-tama mungkin dikeluarkan dalam bentuk berbagai rangkaian bunyi bip pendek dan panjang (misalnya, 1 bunyi bip panjang dan 3 bunyi bip pendek - monitor tidak tersambung, 5 bunyi bip pendek - kesalahan prosesor, dan seterusnya). Setelah inisialisasi kartu video berhasil, pesan diagnostik singkat ditampilkan di layar monitor.

Untuk mengatur tanggal dan waktu yang benar, atau untuk membuat perubahan pada konfigurasi perangkat keras komputer, Anda harus menekan tombol (Del) saat melakukan swa-uji. Utilitas sistem Pengaturan BIOS akan dimuat, yang memiliki antarmuka dalam bentuk sistem menu hierarki. Pengguna dapat mengatur parameter konfigurasi komputer baru dan menyimpannya dalam chip memori khusus, yang ketika komputer dimatikan, ditenagai oleh baterai yang dipasang pada board sistem. Jika baterai rusak, parameter konfigurasi akan hilang dan komputer berhenti melakukan booting secara normal.

Setelah pengujian mandiri, program khusus yang terdapat di BIOS mulai mencari pemuat sistem operasi. Ada akses alternatif ke disk yang tersedia di komputer (floppy, hard, CD-ROM) dan pencarian di tempat tertentu (yang pertama disebut sektor boot disk) adanya program Master Boot khusus (program pemuat sistem operasi).

Jika disk adalah sistem dan program bootloader sudah terpasang, maka disk tersebut dimuat ke dalam RAM dan kendali operasi komputer ditransfer ke disk tersebut. Program mencari file sistem operasi pada disk sistem dan memuatnya ke dalam RAM sebagai modul program (Gbr. 4.20).


Beras. 4.20. Proses booting sistem operasi

Jika tidak ada disk sistem di komputer, sebuah pesan muncul di layar monitor "Disk bukan sistem", dan komputer “macet”, artinya, sistem operasi berhenti memuat dan komputer tetap tidak beroperasi.

Setelah sistem operasi selesai memuat, kontrol ditransfer ke prosesor perintah. Jika Anda menggunakan antarmuka baris perintah, sistem akan meminta Anda memasukkan perintah. Prompt adalah urutan karakter yang menunjukkan drive dan direktori saat ini. Misalnya, jika sistem operasi dimuat dari drive C:, dan sistem operasi diinstal di direktori WINDOWS, sebuah prompt akan muncul:

Jika GUI sistem operasi dimuat, perintah dapat dimasukkan menggunakan mouse.

Pertanyaan untuk Dipertimbangkan

1. Apa saja tahapan utama tes mandiri komputer?

2. Apa yang disimpan dalam chip memori konfigurasi komputer?

3. Apa saja tahapan utama memuat sistem operasi?

sistem operasi biasanya disimpan di memori eksternal komputer - di disk. Saat Anda menyalakan komputer, komputer dibaca dari memori disk dan ditempatkan di RAM. Proses ini disebut memuat sistem operasi .

Disk tempat file OS berada dan dari mana file tersebut dimuat disebut sistemik.
Program hanya dapat berjalan jika berada di dalam RAM, sehingga file OS perlu dimuat ke dalam RAM.
Setelah komputer dihidupkan, OS dimuat dari disk sistem ke dalam RAM. Booting harus dilakukan sesuai dengan program booting - pemuat OS.
Pemuatan OS dapat direpresentasikan langkah demi langkah sebagai berikut:
Komputer berisi ROM yang berisi program untuk menguji komputer dan tahap pertama memuat OS, yang disebut BIOS (Basic Input/Output System). Setelah komputer dihidupkan, program-program ini mulai dijalankan. Selain itu, informasi tentang kemajuan proses ini ditampilkan di layar tampilan. Pertama, perangkat keras diuji dan dikonfigurasi, kemudian OS mulai memuat. Pada tahap ini, prosesor mengakses disk dan mencari keberadaan program bootloader kecil di sektor 1 disk. Menguasaisepatu bot.

Master Boot mencari boot loader utama pada disk sepatu botSektor, memuatnya ke dalam memori dan mentransfer kontrol ke sana. sepatu botsektor(boot sector) – bagian dari disk yang dicadangkan untuk program boot OS. Sektor ini biasanya berisi program bahasa mesin pendek yang memuat OS.
Selanjutnya, bootloader utama mencari modul sistem operasi yang tersisa dan memuatnya ke dalam RAM.
Setelah OS selesai memuat, kontrol ditransfer ke prosesor perintah. Jika Anda menggunakan antarmuka baris perintah, prompt sistem akan muncul di layar, jika tidak, antarmuka grafis akan dimuat.
Tergantung pada jenis OS, proses memuatnya akan berbeda. OS harus menyertakan file yang bertanggung jawab untuk proses booting. Mari kita lihat “pekerjaan” file dalam prosesnya Unduhan Windows XP.

  1. Fase pemuatan awal.
  2. Pemilihan sistem.
  3. Definisi "perangkat keras".
  4. Pemilihan konfigurasi.

Pada fase awal, NTLDR mengalihkan prosesor ke mode terproteksi. Kemudian memuat driver sistem file yang sesuai untuk bekerja dengan file dari sistem file apa pun yang didukung oleh XP (FAT-16, FAT-32, dan NTFS).

Jika terdapat BOOT.INI di direktori root, maka isinya akan dimuat ke dalam memori. Jika memiliki entri untuk lebih dari satu sistem operasi, NTLDR berhenti berjalan - menampilkan menu pilihan dan menunggu masukan pengguna untuk jangka waktu tertentu.

Jika tidak ada file seperti itu, maka NTLDR melanjutkan booting dari partisi pertama, drive pertama, biasanya C:\.
Jika pada saat proses seleksi pengguna memilih Windows NT, 2000 atau XP, lalu tekan F8 dan tampilkan menu yang sesuai dengan opsi boot.
Setelah setiap boot berhasil, XP membuat salinan kombinasi driver dan pengaturan sistem saat ini yang dikenal sebagai Konfigurasi Baik yang Terakhir Diketahui. Koleksi ini dapat digunakan untuk booting jika ada perangkat baru yang mengganggu pengoperasian sistem operasi.

Jika sistem operasi yang dipilih adalah XP, maka NTLDR mencari dan memuat program DOS NTDETECT.COM untuk menentukan perangkat keras yang terpasang di komputer. NTDETECT.COM membuat daftar komponen, yang kemudian digunakan dalam kunci HARDWARE dari cabang registri HKEY_LOCAL_MACHINE.

Jika komputer memiliki lebih dari satu profil perangkat keras, program berhenti dengan menu pilihan konfigurasi. Setelah konfigurasi dipilih, NTLDR mulai memuat kernel XP (NTOSKRNL.EXE). Selama proses boot kernel (tetapi sebelum inisialisasi), NTLDR tetap menjadi pusat kendali komputer. Layar menjadi bersih dan animasi persegi panjang putih ditampilkan di bagian bawah. Selain kernel, Hardware Abstraksi Layer (HAL.DLL) juga dimuat sehingga kernel dapat mengabstraksi dirinya dari perangkat keras. Kedua file tersebut terletak di direktori System32.

NTLDR memuat driver perangkat yang ditandai sebagai dapat di-boot. Setelah mengunduhnya, NTLDR mentransfer kendali komputer lebih lanjut. Setiap driver memiliki kunci di HKEY_LOCAL_MACHINE\SYSTEM\Services. Jika nilai Start sama dengan SERVICE_BOOT_START, maka perangkat dianggap dapat di-boot. Untuk setiap perangkat tersebut, sebuah titik dicetak di layar.

NTOSKRNL melewati dua fase selama proses boot - yang disebut fase 0 dan fase 1. Fase pertama hanya menginisialisasi bagian mikrokernel dan subsistem eksekutif yang diperlukan untuk pengoperasian layanan dasar dan boot lanjutan. Fase 1 dimulai ketika HAL mempersiapkan sistem untuk menangani interupsi perangkat. Jika ada lebih dari satu prosesor yang terpasang di komputer, prosesor tersebut akan diinisialisasi. Semua subsistem eksekutif diinisialisasi ulang dalam urutan berikut: Manajer Objek, Eksekutif, Mikrokernel, Monitor Referensi Keamanan, Manajer Memori, Manajer Cache, LPCS, Manajer I/O, Manajer Proses.

Inisialisasi Manajer I/O memulai proses memuat semua driver sistem. Sejak NTLDR berhenti, driver dimuat berdasarkan prioritas. Kegagalan memuat driver dapat menyebabkan XP melakukan boot ulang dan mencoba memulihkan Konfigurasi Baik yang Terakhir Diketahui. Tugas terakhir dari fase 1 inisialisasi kernel adalah meluncurkan Session Manager Subsystem (SMSS). Subsistem bertanggung jawab untuk menciptakan lingkungan pengguna yang menyediakan antarmuka NT. SMSS berjalan dalam mode pengguna, tetapi tidak seperti aplikasi lain, SMSS dianggap sebagai bagian tepercaya dari sistem operasi dan aplikasi “asli” (hanya menggunakan fungsi eksekutif), yang memungkinkannya menjalankan subsistem grafis dan login. SMSS memuat win32k.sys - subsistem grafis. Pengemudi mengalihkan komputer ke mode grafis, SMSS memulai semua layanan yang seharusnya dimulai secara otomatis saat startup. Jika semua perangkat dan layanan berhasil dimulai, proses booting dianggap berhasil dan Konfigurasi Baik yang Terakhir Diketahui dibuat.

Proses pengunduhan dianggap belum selesai sampai pengguna telah login ke sistem. Proses ini diinisialisasi oleh WINLOGON.EXE, yang berjalan sebagai layanan dan didukung oleh Otoritas Keamanan Lokal (LSASS.EXE), yang menampilkan dialog login. Kotak dialog ini muncul sekitar waktu Subsistem Layanan memulai layanan jaringan.

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat