Instruktor: W
tej lekcji porozmawiamy o opcjach
rozruchowych, które są ustawione w BIOS-ie lub UEFI.
BIOS lub podstawowy system wejścia/wyjścia to program, którego
mikroprocesor komputera osobistego będzie używał
do uruchomienia systemu komputerowego po
jego włączeniu.
Ten BIOS będzie również zarządzał przepływem danych
między systemem operacyjnym komputera
a podłączonymi urządzeniami, takimi jak urządzenia
pamięci masowej, takie jak dysk twardy lub dysk półprzewodnikowy,
karta wideo, klawiatura i drukarka.
Jest to najczęstszy przykład oprogramowania układowego
lub oprogramowania na chipie i jest
to pierwsze oprogramowanie uruchamiane przez komputer
za każdym razem, gdy włączasz komputer.
Obecnie BIOS pełni kilka ról, w tym przeprowadzanie
autotestu po włączeniu zasilania, który ma na celu
przetestowanie i zainicjowanie procesora, karty graficznej,
dysków i adapterów, a także konfigurowanie sprzętu systemu
i konfigurowanie odpowiedniej kolejności
rozruchu, która ma zostać wykonana
po pierwszym włączeniu systemu.
BIOS jest przechowywany w pamięci ROM, która jest pamięcią tylko do odczytu.
Jest to rodzaj chipu,
który jest wbudowany w płytę główną, ale można
go zaktualizować poprzez proces znany jako flashowanie.
BIOS to również program znajdujący się wewnątrz tego układu,
który pozwala użytkownikowi
na wprowadzanie zmian w ustawieniach,
a ustawienia te są zapisywane w czymś,
co nazywa się CMOS.
CMOS to komplementarny półprzewodnik tlenkowo-metalowy i jest to
układ pamięci zasilany bateryjnie.
Jest to nieulotny typ pamięci, który
przechowuje ustawienia BIOS-u
i jest wbudowany w płytę główną.
Dopóki bateria jest zasilana,
prąd stały będzie dostarczany do CMOS,
co pozwoli na zachowanie ustawień
przez płytę główną i BIOS.
Jeśli komputer ciągle gubi swoje ustawienia
lub zapomina daty i godziny,
jest to zazwyczaj oznaką
konieczności wymiany baterii.
Bateria ta zwykle wystarcza na około trzy lata pracy.
Jednak w nowszych modelach CMOS
mogą one wykorzystywać wewnętrzną baterię litowo-jonową,
która może działać nawet przez 10 lat.
Najbardziej typowa bateria
zewnętrzna, która będzie używana
z tymi CMOS, jest znana jako CR2032 i wygląda
jak bateria do zegarka.
Należy pamiętać, że jeśli bateria zacznie szwankować,
pierwszą rzeczą, którą zauważy użytkownik,
będzie częste zapominanie
daty i godziny przez zegar systemowy.
Jeśli więc często zmieniasz datę i godzinę, oznacza
to, że bateria najprawdopodobniej się wyczerpuje.
Po naciśnięciu przycisku zasilania na komputerze
pierwszą rzeczą, która dzieje się po podłączeniu
zasilania, jest rozpoczęcie procesu rozruchu,
a pierwszym krokiem jest autotest po włączeniu zasilania,
znany jako POST.
Autotest po włączeniu zasilania to diagnostyczna sekwencja
testowa, którą uruchamia podstawowy system
wejścia/wyjścia komputera
lub program startowy w celu ustalenia, czy klawiatura
komputera, pamięć RAM, dyski, urządzenia pamięci masowej i inny sprzęt
działają prawidłowo.
Jeśli niezbędny sprzęt zostanie wykryty
i okaże się, że działa prawidłowo, komputer
może rozpocząć uruchamianie.
Jeśli sprzęt nie zostanie wykryty
lub okaże się, że nie działa prawidłowo, BIOS wyda
komunikat o błędzie, który może być
komunikatem tekstowym na ekranie.
W przypadku problemów z ekranem może to być
seria zakodowanych sygnałów dźwiękowych,
w zależności od charakteru konkretnego problemu.
Ponieważ test POST
jest uruchamiany przed aktywacją karty graficznej komputera,
wyświetlenie wszystkiego na ekranie może nie być możliwe.
Dlatego też będziemy używać tych zmiennych sygnałów dźwiękowych
jako sposobu na poinformowanie użytkownika, co jest nie tak z systemem.
Te sygnały dźwiękowe mogą być krótkie i długie lub
mogą być mieszanką krótkich i długich sygnałów dźwiękowych,
w zależności od typu systemu BIOS zainstalowanego
na płycie głównej.
Dokładny wzór sygnałów dźwiękowych będzie zawierał
informacje o naturze wykrytego problemu.
Na przykład, jeśli klawiatura nie zostanie wykryta,
określony wzór sygnałów dźwiękowych może o tym informować,
wysyłając dwa krótkie i jeden długi sygnał dźwiękowy,
coś w rodzaju bip, bip, boop.
Teraz POST może mieć również błędy, które są śmiertelne.
W takim przypadku bieżący
program przestanie działać, a proces rozruchu
zostanie zatrzymany.
Jest to ważne do zrozumienia,
ponieważ sprzęt, który jest sprawdzany przez ten
test POST, to cały niezbędny
sprzęt, taki jak pamięć, klawiatura,
urządzenia wejścia/wyjścia i procesor.
Jeśli więc wystąpi jakikolwiek błąd w którymkolwiek z tych
elementów, zatrzyma on proces rozruchu, ponieważ nie może
załadować pełnego systemu operacyjnego
z wadliwym sprzętem.
Po pomyślnym zakończeniu testu POST, BIOS będzie
mógł odczytać ustawienia
z CMOS, a następnie wyszukać system
operacyjny ze skonfigurowanych urządzeń
rozruchowych.
BIOS ma również swój własny niskopoziomowy system operacyjny dla tego
komputera, który pozwala mu na pobieranie
danych wejściowych i wysyłanie danych
wyjściowych do najbardziej podstawowych komponentów,
w tym klawiatury, dysków i wyświetlacza
wideo.
Korzystając ze swojej niskopoziomowej zdolności do odczytu
z urządzenia pamięci masowej,
BIOS spróbuje znaleźć zainstalowany
system operacyjny, taki jak Windows, Linux lub Mac OS.
Następnie program ładujący systemu operacyjnego
rozpocznie proces uruchamiania systemu operacyjnego i przekaże
kontrolę nad komputerem temu systemowi
operacyjnemu.
Jak już wspomniałem, BIOS przechowuje również swoje
ustawienia i konfiguracje w CMOS, ale
pewnie zastanawiasz się, jak zmienić
te ustawienia?
Aby skonfigurować te ustawienia w CMOS, należy
wejść do środowiska konfiguracji BIOS.
Aby to zrobić, należy nacisnąć prawidłowy klawisz
lub kombinację klawiszy podczas procesu uruchamiania,
które zostaną skonfigurowane
przez producenta systemu BIOS.
Najczęściej używanymi klawiszami są F2 lub Delete,
ale różni się to w zależności od
BIOS-u i używanej płyty głównej.
Widziałem też inne klawisze, takie jak
Escape, F1, F10 i F12.
Zwykle po pierwszym włączeniu systemu na ekranie
pojawi się komunikat informujący
o tym, które naciśnięcie klawisza jest wymagane
do zmiany ustawień konfiguracyjnych.
Jeśli nie widzisz, że jest wyświetlany,
możesz po prostu przeprowadzić szybkie wyszukiwanie
online na stronie producenta, a to powie
ci, które naciśnięcie klawisza jest używane przez
twój konkretny system.
Tradycyjnie istniał tylko jeden typ BIOS-u, który w pełni opierał
się na tekstowym systemie menu i klawiaturze jako
systemie wprowadzania danych.
Ten tradycyjny BIOS zapewniał użytkownikowi możliwość
przeglądania informacji o pamięci, procesorze, napędach
optycznych i urządzeniach pamięci masowej.
Chociaż nie były one zbyt atrakcyjne graficznie,
te systemy tekstowe zapewniały
wszystkie niezbędne funkcje w celu skonfigurowania
urządzenia, kolejności rozruchu, prędkości zegara,
daty, godziny, tego, czy zamierzasz włączyć obsługę
wirtualizacji, funkcje bezpieczeństwa i wiele innych
podobnych rzeczy.
Obecnie nowoczesne systemy
zaczęły jednak odchodzić od tradycyjnego BIOS-u
i zamiast tego korzystają z czegoś znanego jako UEFI.
Teraz UEFI lub UEFI, jak lubimy go nazywać, to Unified Extensible
Firmware Interface i jest to w zasadzie zaktualizowana
forma BIOS-u, która umożliwia zarówno klawiaturę,
jak i mysz jako dane wejściowe, a także zapewnia graficzny
interfejs użytkownika zamiast standardowego
menu tekstowego.
Systemy te są zwykle bardziej intuicyjne w użyciu, ponieważ
mają graficzny interfejs użytkownika
zamiast tekstowego systemu menu i nadal
zapewniają wszystkie niezbędne funkcje do konfigurowania
urządzeń, kolejności rozruchu, prędkości
zegara, daty i godziny, opcji obsługi wirtualizacji,
funkcji bezpieczeństwa i wielu innych rzeczy, w
tym stawek.
Teraz niektóre z tych systemów opartych
na UEFI zawierają również oprogramowanie,
które pozwala na korzystanie z Internetu,
granie w podstawowe gry, a nawet
korzystanie z programów do tworzenia
kopii zapasowych bez konieczności wchodzenia do normalnego systemu
operacyjnego, takiego jak Windows, Linux lub Mac OS, co czyni
je bardzo potężnymi.
UEFI ma kilka zalet w porównaniu z tradycyjnym BIOS-em.
Po pierwsze, tradycyjny BIOS działa tylko
jako system 32-bitowy, podczas
gdy UEFI może obsługiwać systemy 64-bitowe.
Po drugie, UEFI może obsługiwać większe dyski twarde i urządzenia
półprzewodnikowe.
Tradycyjny BIOS może obsługiwać tylko do 2 urządzeń
pamięci masowej. 2 terabajty, ale
UEFI może obsługiwać
dyski do 9. 4 zettabajty.
To jest 9. 4 razy 10 do 21 bajtów.
Byłby to bardzo duży dysk.
W tej chwili żaden z nich nie istnieje.
Ale z tego powodu
UEFI daje nam wiele możliwości w przyszłości.
Trzecią rzeczą jest to, że tradycyjny BIOS obsługuje
tylko główny rekord rozruchowy, który jest znany
jako MBR i jest to tablica partycji
urządzenia pamięci masowej, która mówi, w jaki sposób
rzeczy są przechowywane na danym dysku
twardym lub urządzeniu półprzewodnikowym.
UEFI może jednak obsługiwać nowszy
format tablicy partycji GUID lub GUID,
który jest znany jako GPT.
Teraz ten nowy format GPT obsługuje większe dyski twarde i urządzenia pamięci
masowej, co jest wymagane w przypadku każdego urządzenia,
które będzie większe niż 2. 2 terabajty.
Po czwarte, UEFI jest zwykle szybszy niż tradycyjny BIOS pod względem
uruchamiania systemu.
Jest to więc dla nas kolejna zwiększona korzyść.
Po piąte, UEFI zazwyczaj wykorzystuje pamięć ROM o większym rozmiarze
niż tradycyjny BIOS.
Może więc obsługiwać bardziej skomplikowane programy,
w tym narzędzie konfiguracyjne oparte na GUI, o którym
mówiliśmy wcześniej, które jest dołączone
do większości systemów opartych na UEFI, a to zapewnia lepsze
narzędzia diagnostyczne i polecenia, których można używać podczas
rozwiązywania problemów.
Niezależnie od tego, czy zamierzasz korzystać
z tradycyjnego BIOS-u, czy nowszego systemu opartego na UEFI, będziesz
używać tego narzędzia konfiguracyjnego do
ustawiania kolejności rozruchu i parametrów systemu.
Pozwoli to określić, z
których urządzeń będą odczytywane
dane podczas próby znalezienia systemu operacyjnego,
takiego jak Windows, Linux lub Mac OS, aby system
mógł zostać załadowany.
Może to być stałe urządzenie pamięci masowej,
takie jak dysk twardy lub urządzenie półprzewodnikowe.
Ale można również przechowywać go na napędzie optycznym,
takim jak CD, DVD lub Blu-ray, lub na dysku
USB, takim jak pendrive lub pamięć flash, a nawet można użyć karty
sieciowej, aby połączyć się z serwerem przy
użyciu środowiska przed uruchomieniem znanego jako PXE jako
żądanej opcji rozruchu.
Wszystkie te opcje są ważne i
zależą od przypadku użycia.
Jest to więc ważna rzecz, którą należy
skonfigurować w BIOS-ie lub UEFI, wybierając
listę priorytetów lub kolejność rozruchu,
której chcesz użyć.
Załóżmy na przykład, że najpierw
skonfigurowano napęd optyczny,
następnie dysk twardy, USB, a na
końcu sieć.
Oznacza to, że po włączeniu komputera
system najpierw sprawdzi napęd optyczny, aby sprawdzić,
czy może tam znaleźć bootowalny system operacyjny.
Jeśli tak, to go załaduje.
Ale jeśli tak się nie stanie, przejdzie
do drugiego priorytetu, który
wymieniliśmy jako dysk twardy.
Teraz, gdy przegląda dysk twardy, może
znaleźć zainstalowany system Windows.
Następnie załaduje system Windows i przejmie
kontrolę nad systemem operacyjnym
Windows i nie przejdzie dalej
w dół listy rozruchowej.
Ale ta konkretna kolejność może być dla ciebie niebezpieczna, ponieważ
istnieje wiele systemów operacyjnych, które
można uruchomić z napędu optycznego lub pendrive'a USB, takich
jak niektóre wersje Linuksa.
Tak więc jako atakujący, jeśli mogę
włożyć moją płytę DVD z systemem Kali Linux do napędu optycznego i włączyć
komputer, mogę teraz korzystać z
twojego sprzętu i być w stanie
ominąć wszystkie twoje hasła, ponieważ
teraz ładuję Kali Linux zamiast Windows, a więc nie muszę już włamywać
się na twoje konto Windows, aby korzystać
z twojego systemu.
W tym momencie z wnętrza Kali Linux mogę zamontować
dysk twardy, aby odczytać
pliki i tym podobne rzeczy.
Ale ponownie, musiałbym mieć fizyczny dostęp
do twojego systemu, aby włożyć tę płytę DVD do napędu.
Z tego powodu w większości środowisk korporacyjnych lubimy stosować
najlepszą praktykę polegającą na wyłączeniu rozruchu
z napędu optycznego lub napędu USB, aby uniemożliwić atakującym
przejęcie systemów w ten sposób.
Zamiast tego należy skonfigurować system tak, aby uruchamiał
się z zainstalowanego dysku twardego przy użyciu
zainstalowanego systemu operacyjnego.
Jeśli zaś korzystasz z cienkiego klienta,
możesz zdecydować się na uruchomienie systemu operacyjnego
przez sieć przy użyciu PXE jako podstawowej opcji,
a następnie w ogóle nie wybierać napędów optycznych ani napędów USB z listy
priorytetów.
Ostatnią rzeczą, którą musimy omówić
z BIOS-em i UEFI, jest sposób ich aktualizacji,
ponieważ jest to w końcu oprogramowanie, nawet jeśli jest to oprogramowanie
na chipie lub oprogramowanie układowe.
Teraz, aby zaktualizować BIOS lub UEFI, należy
użyć procesu znanego jako flashowanie.
Flashowanie jest wykonywane za każdym razem,
gdy w BIOS-ie lub UEFI pojawią się aktualizacje,
poprawki zabezpieczeń lub ulepszenia funkcji.
Zawsze sprawdzaj witrynę producenta,
aby uzyskać najnowszą wersję oprogramowania
układowego i konkretny proces
flashowania systemu BIOS lub UEFI.
W dawnych czasach
nasze systemy nie miały możliwości
flashowania BIOS-u.
Zamiast tego musieliśmy wymienić
cały układ BIOS na płycie głównej.
Na szczęście wszystkie nowoczesne płyty główne
obsługują teraz flashowanie,
dzięki czemu możemy po prostu nadpisać BIOS lub UEFI za
pomocą tej specjalistycznej procedury.
Przed flashowaniem BIOS-u lub UEFI należy zawsze
wykonać kopię zapasową konfiguracji
i informacji, na wypadek gdyby
coś poszło nie tak.
W większości systemów
do flashowania oprogramowania sprzętowego potrzebny
będzie dysk flash USB.
Następnie należy załadować plik do
katalogu głównego tego dysku flash
USB, podłączyć dysk flash
do określonego portu USB na płycie głównej, a następnie
ponownie uruchomić system,
naciskając serię określonych klawiszy lub naciskając
określony przycisk z tyłu płyty
głównej.
Następnie BIOS lub UEFI przejmie kontrolę, skopiuje oprogramowanie
układowe do systemu i nadpisze stary
kod nowo zaktualizowanym kodem
oprogramowania układowego.