Tải bản đầy đủ (.docx) (13 trang)

Báo cáo bài tập lớn môn Hệ Điều Hành

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (665.51 KB, 13 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

----- -----

BÀI TẬP LỚN
MÔN HỌC: HỆ ĐIỀU HÀNH
NHÓM MÔN HỌC: 13

Giảng viên: PHẠM HOÀNG DUY

Hà Nội năm 2018


Câu 1: Quá trình khởi động máy tính và nạp hệ điều hành? (boot process)
Trả lời:
Khởi động máy tính hay boot máy tính (booting) là một quá trình tải hay tự mồi
(bootstrapping) để khởi động sự làm việc của hệ điều hành khi người dùng bật một Hệ
thống máy tính. Một trình tự khởi động (boot sequence) là một tập hợp các lệnh ban đầu
được máy tính thực hiện khi nó được khởi động. Trình khởi động (bootloader) sẽ nạp hệ
điều hành chính vào máy tính để hoạt động.
Quá khởi động của máy tính có những bước sau:

Bấm nút nguồn.
Bấm nút nguồn là thao tác đầu tiên để khởi động máy tính, có thể bấm trực tiếp
vào nút ON/OFF hoặc 1 số máy tính có thể bật nguồn thông qua tính năng “Wake on
LAN”, bật nguồn qua mạng. Khi chưa bấm nút nguồn thì bo mạch chủ (mainboard) vẫn
có thể được cấp điện, để có năng lượng chờ hành động bấm nút của bạn đó. Khi bạn bấm
nguồn thì tín hiệu máy tính bắt đầu khởi động sẽ được truyền đi ngay lập tức.
BIOS (Basic Input/Output System): Hệ thống nhập xuất cơ bản.
BIOS là một phần mềm được cài đặt sẵn (embedded) vào các chíp PROM,
EPROM hay bộ nhớ flash nằm trên bo mạch chủ. Đó là chương trình chạy đầu tiên sau


khi máy tính được ra lệnh khởi động, sau khi kiểm tra việc cấp điện của bộ nguồn, VGA
Card (card màn hình) sẽ xuất những thông tin của quá trình khởi động tiếp theo.
BIOS tiếp tục thực hiện POST (Power-on Self-test) để kiểm tra thông số các phần
cứng khác như CPU, bộ nhớ RAM, thiết bị lưu trữ, thiết bị mạng… Đồng thời, BIOS
cũng cho phép bạn thay đổi các thiết lập, cấu hình của nó (tùy từng máy mà bạn nhấn
phím F2, Delete, F10,… để vào giao diện cài đặt cho BIOS).


Nếu quá trình POST không có thiết bị nào bị hỏng, BIOS sẽ tìm xem phải khởi
động hệ điều hành từ thiết bị lưu trữ nào: ổ cứng (HDD), CD/DVD, USB. Máy tính
thường sẽ khởi động từ ổ cứng (HDD).
Master Boot Record (MBR):

MBR (Master Boot Record) là sector đầu tiên của ổ cứng, nó không thuộc phân vùng nào
cũng không phải là Boot Sector.
Sector: là đơn vị nhỏ nhất trên ổ cứng, có 4 giá trị, giao động từ 512-4096 byte.
Boot Sector: chương trình khởi động hệ điều hành (chỉ là 1 đoạn mã ngắn, gọi là mã khởi
động Boot Code) được đặt ở 1 sector, gọi là Boot Sector. Mỗi phân vùng trên ổ cứng đều
có 1 boot sector được đặt ở đầu phân vùng.
Boot Code: ở mỗi phân vùng là khác nhau và do mỗi Hệ Điều Hành sử dụng phân vùng
tự cài đặt khác nhau, cho nên boot code này không thể quy định chung được.


Nếu ta chọn khởi động hệ điều hành từ ổ cứng, BIOS sẽ tìm đến MBR nạp chương tình
khởi động cho máy. Boot Code trong MBR sẽ xác định ổ cứng có chứa bao nhiêu phân
vùng (Partition), có bao nhiêu hệ điều hành được cài và chúng được đặt ở đâu. Phân vùng
được kích hoạt (Active), MBR sẽ nạp Boot Code của phân vùng đó để khởi động hệ điều
hành đặt trên phân vùng đó. Máy tính chỉ được kích hoạt 1 phân vùng duy nhất.

BIOS biết được sẽ khởi động từ thiết bị nào, nó sẽ đọc MBR của thiết bị đó để

định vị phân vùng được chỉ định ưu tiên khởi động hệ điều hành đã cài lên đó. Quá trình
này có thể xem là định vị và khởi động boot loader, chương trình chịu trách nhiệm cho
việc tìm và nạp nhân (kernel) của hệ điều hành.
Boot loader:
Có nhiều loại bootloader như GRUB và LILO (tiền thân của GRUB) trên Linux,
trên Windows có NTLDR và BOOTMGR. Nhiều loại nhưng chúng đều có chung mục
đích: cho phép người dùng lựa chọn một trong các hệ điều hành có trên máy tính để khởi
động, sau đó chúng sẽ nạp nhân (kernel) của hệ điều hành đó vào bộ nhớ và chuyển
quyền điều khiển máy tính cho kernel này. Khi người dùng mở máy lên, chương trình
bootloader này cho ta thời gian để chọn hệ điều hành mình muốn sử dụng.

Người dùng chọn hệ điều hành muốn sử dụng:


Hệ điều hành đc nạp và khởi chạy:
Theo sau sự kiểm tra của file NTDETECT, file NTLDR load và khởi tạo các nhân
Windows, load các services, và bắt đầu Windows
Khi các nhân đã được load xong, HAL (Hardware Abstraction Layer) cũng được
load, nó được sử dụng để quản lý các thiết bị phần cứng. Kế đến các khóa trong registry
HKEY_LOCAL_MACHINE\_System cũng được load vào bộ nhớ. Windows sẽ quét
registry để tìm tất cả các drivers bắt đầu với giá trị 0, bao gồm những drivers sẽ được load
và khởi tạo vào lúc khởi động. Sau khi các nhân sẽ được khởi tạo, các bạn sẽ nhìn thấy
màn hình chào đón chuyển đến khung nền đen. Tại đây, hệ thống sẽ quét lại lần nữa
registry và tìm tất cả các driver cần được load trong gia đoạn khởi động nhân
Đăng nhập với giao diện đồ họa:
Từ lúc này Windows bắt đầu nhiều thành phần của hệ thống và các thành phần do
người dùng cài đặt. Mỗi thành phần này đọc thông tin từ registry và thực thi nhiều công
việc khác nhau. Trong giai đoạn cuối, chương trình quản lý user logon, WinLogon, bắt
đầu. WinLogon cho phép người sử dụng log on và sử dụng Window.



Hệ điều hành được nạp và hoàn thành quá trình khởi động:

Sau khi nạp nhân (Kernel) và chuyển quyền điều khiển máy tính cho Kernel. Hệ
điều hành tiếp tục quá trình khởi động của mình cho đến khi hoàn thành. Nếu quá trình
này không bị lỗi màn hình đăng nhập sẽ được xuất hiện cho người dùng đăng nhập, hoặc
vào thẳng desktop sẵn sàng cho người dùng sử dụng. Trên đây là quá trình khởi động một
máy vi tính và nạp hệ điều hành.


Câu 2: Cơ chế khởi động an toàn (có bảo vệ) trên máy tính? (Secure boot + measured
boot process)
Trả lời:
Mỗi khi bật máy tính (PC), BIOS sẽ được nạp vào bộ nhớ hệ thống, kiểm tra sự
sẵn sàng của các thiết bị phần cứng và cố gắng khởi động chúng, sau đó chuyển quyền
sang cho hệ điều hành khởi động. Với các máy tính thông thường BIOS sẽ tìm và khởi
động bộ tải khởi động (Boot loader), sau đó khởi động hệ điều hành đầy đủ. Tuy nhiên,
quá trình khởi động này có thể tồn tại những rủi ro liên quan đến phần mềm độc hại
(Malware), chẳng hạn như rootkit. Rootkit làm cho việc tải hệ điều hành bình thường mà
không có bất cứ dấu hiệu bất thường nào diễn ra, nhưng rootkit có khả năng kiểm soát
“root” can thiệp vào tiến trình khởi động hệ thống để các giấu phần mềm độc hại tránh
khỏi chương trình quét virus cũng như các biện pháp bảo vệ hệ thống khác bên trong hệ
điều hành. BIOS sẽ không biết được sự khác biệt giữa malware và boot loader nên sẽ
khởi động bất cứ thứ gì nó tìm được. Do đó, nếu hacker sử dụng rootkit để can thiệp vào
tiến trình khởi động hệ thống thì họ có thể hoàn toàn điều khiển được hệ điều hành.
Sau này các nhà sản xuất PC đã dần thay thế BIOS bằng UEFI (Unified
Extensible Firmware Interface) là 1 giao diện firmware tiên tiến hơn, vì UEFI sẽ giúp quá
trình khởi động nhanh và an toàn hơn với tính năng Secure Boot.

Secure Boot là 1 tính năng bảo mật của UEFI và nó bảo vệ hệ thống trước khả

năng malware can thiệp vào quy trình khởi động nhằm tiêm mã độc vào hệ điều hành ở
cấp độ thấp. UEFI sẽ kiểm tra boot loader trước khi khởi chạy nó và đảm bảo nó được
đăng ký bởi Microsoft (Nếu máy tính dùng hệ điều hành Window). Nếu rootkit hay một
phần mềm độc hại khác thay thế trình boot loader của máy hoặc giả mạo nó, UEFI sẽ
không cho phép nó khởi động. Điều này ngăn chặn phần mềm độc hại xâm nhập vào quá
trình khởi động của máy tính và che giấu bản thân nó khỏi hệ điều hành.


Secure Boot hoạt động giống như một cổng an ninh, mã với thông tin đăng ký hợp
lệ sẽ được qua cổng. Các thành phần trong chuỗi khởi động máy thường được đăng ký
bời nhà cung cấp phần mềm đó, chúng sử dụng 1 khóa riêng khớp với khóa công khai có
sẵn trên firmware. Khi Secure Boot được kích hoạt, các thành phần chính của hệ thống
được dùng để khởi động máy như: boot loader, nhân hệ điều hành (kernel), ROM tùy
chọn …cần phải có các chứng chỉ số mã hóa phù hợp và firmware UEFI sẽ xác thực các
chứng chỉ này trước khi cho phép khởi động máy. Nếu chữ ký mã hóa hợp lệ, Secure
Boot sẽ cho phép mã qua cổng. Nếu có bất kỳ phần mềm nào bị hack chữ ký mã hóa sẽ bị
sai lệch khác với mã trên fimware, Secure Boot sẽ khóa mã đó và không cho phép tải
phần mềm đó lên. Secure Boot khá hữu ích trong việc ngăn chặn các mã độc hại chạy
trên hệ thống, tuy nhiên tính năng này cũng ngăn một số hệ điều hành hợp pháp khác
chạy như Linux, Android x86 hoặc TAILS.
Với Window 10, Microsoft đã đưa ra tiến trình khởi động mới sử dụng chip hỗ trợ
TPM (Trusted Platform Module) gọi là tiến trình Measured Boot. Sau khi khởi động máy
tính, hệ thống sẽ tính toán ra một giá trị băm (hash) của firmware UEFI và lưu lại trong
một giá trị của cấu hình nền của TPM (có 24 giá trị cố định). Tính năng này giúp các
mảng bộ nhớ hệ thống không bị can thiệp, và chỉ có thể ghi đè lên giá trị này khi hệ thống
khởi động lại lần nữa. Theo đặc tả, mảng 24 giá trị cố định này được phân bổ như sau: giá
trị từ 0 đến 7 dành riêng cho firmware UEFI, còn từ 8 đến 15 dành cho Windows, như
BitLocker, từ 16 đến 23 dành cho những phần mềm còn lại, như phần mềm quét virus.

Tiến trình Secure Boot sẽ chạy song song và kiểm tra chứng nhận các thành phần

có trong quy trình khởi động hệ thống. Nhưng trước khi chạy bất kỳ tiến trình nào: boot


loader, kernel, boot driver, …quy trình khởi động sẽ tính toán ra một giá trị hash và chứa
giá trị ấy vào một trong 24 giá trị TPM, và sau đó cung cấp file log mã hóa có thể được
kiểm tra từ xa để kiểm chứng các thành phần khởi động hệ thống có an toàn không. Nếu
không, máy chủ sẽ thông báo thành phần nào bị nhiễm malware hoặc không an toàn, và
khuyến nghị người dùng nên loại bỏ nó ra khỏi tiến trình khởi động hệ thống.

Lợi ích của tiến trình khởi động Measured Boot này là cho phép một đơn vị trên
mạng kiểm chứng xem các thành phần khởi động của hệ thống có an toàn hay không.
Secure Boot chưa hỗ trợ giống như Measured Boot và nó mới chỉ chạy trên máy tính
người dùng mà thôi, không so sánh hay kiểm chứng ngược lại trên mạng. Do đó, tiến
trình Measured Boot xem ra rất quan trọng đối với những doanh nghiệp nào cho phép
nhân viên sử dụng máy tính xách tay hay điện thoại thông minh cá nhân cho công việc.
Vì với tình huống này, doanh nghiệp cần đảm bảo thiết bị cá nhân không bị nhiễm virus
hay phần mềm gián điệp. Tuy vậy, lúc này các công ty phải lập thêm một máy chủ test để
kiểm chứng các tiến trình khởi động thiết bị ấy nữa.


Câu 3: Làm Thế nào để người sử dụng máy tính có thể lựa chọn được hệ điều hành khi
bật máy? (boot manager program)
Trả lời:
- BootManager, trước đây gọi là BootMan, là trình tải khởi động Haiku và BeOS trên các
hệ thống x86. Nó chỉ nằm trong bản ghi khởi động chính và không yêu cầu cài đặt Haiku
hoặc BeOS, mặc dù nó phải được cài đặt từ Haiku hoặc BeOS. Người tiền nhiệm BeOS
của nó là BootMan, và sau này được đổi tên thành BootManager bởi dự án Haiku.
- Nó là hệ thống tập tin bất khả tri, và khởi động một hệ điều hành như thể nó đang được
khởi động trực tiếp từ phần cứng. Như vậy, nó có thể khởi động hầu như bất kỳ hệ điều
hành nào. Nó cũng có thể nạp GRUB, LILO và NTLDR. Tuy nhiên, độc lập với hệ điều

hành không cho phép khởi động bất kỳ đĩa nào không thể truy cập thông qua các thường
trình BIOS I / O (ví dụ INT 13H), ngoại trừ đĩa vào một tập tin hình ảnh BeOS trên hệ
thống tệp FAT32, NTFS hay ext2.
- Xóa tùy chọn khởi động cũ trong boot menu trên Windows 10:
+ Ẩn các tùy chọn: Giải pháp đầu tiên này không hoàn toàn loại bỏ mục khởi động,
nhưng bạn có thể ẩn tùy chọn này bằng cách sử dụng menu Windows Advanced statup.
Nhấn phím Windows + I để mở bảng Settings, truy cập vào Update & Security >
Recovery và trong phần Advanced startup chọn Restart now (hoặc nhấn Shift trong khi
chọn Restart trong menu Start. Lưu ý, thao tác này sẽ khởi động hệ thống ngay lập tức,
do đó bạn cần đảm bảo lưu các tài liệu quan trọng trước khi nhấn nút này. Chọn Use
another operating system > Change defaults.
+ Sử dụng BCDEdit: BCDEdit là công cụ chỉnh sửa trình quản lý khởi động được tích
hợp sẵn. Lưu ý, nếu xóa nhầm mục trình khởi động có thể dẫn đến hậu quả nghiêm trọng,
do vậy bạn nên kiểm tra cẩn thận mỗi chỉnh sửa ở đây trước khi nhấn Enter.
Gõ cmd vào thanh tìm kiếm của menu Start, sau đó click chuột phải vào Command
Prompt, chọn Run as administrator. Khi cửa sổ Command Prompt mở ra, gõ bcdedit
/export c:\bcdbackup để tạo bản sao lưu các thiết lập BCD của bạn. Tiếp theo, gõ
bcdedit /v để liệt kê.
Sao chép số nhận dạng (chuỗi ký tự chữ và số dài) của bootloader mà bạn muốn xóa. Bây
giờ, gõ lệnh bcdedit /delete {số nhận dạng}. Kiểm tra kỹ bạn có mục nhập chính xác
không, sau đó nhấn Enter để xóa các boot loader hiện có trên hệ thống.
+ Sử dụng Visual BCD Editor: Để xóa một mục khởi động cũ, tải và cài đặt Visual BCD
Editor, sau đó mở nó ra. Công cụ náy sẽ mất một chút thời gian để quét hệ thống. Trong
tùy chọn bên trái, bạn sẽ thấy Bcdstore > Loaders > [tùy chọn bootloader của bạn], chọn
bootloader bạn muốn xóa và sau đó nhấn Delete ở cuối bảng thông tin bên phải.


-Có 4 cách chọn hệ điều hành mặc định trên win10
+Chọn hệ điều hành mặc định trên Advanced Startup Options:
Bước 1: Trong khi khởi động máy hoặc hoặc sau khi khởi động đến tùy chọn khởi

động nâng cao, chọn Change defaults or choose other options theo đường dẫn bên
dưới.
Bước 2: Lúc đó sẽ xuất hiện hộp thoại options, chọn Choose a default operating
system.
Bước 3: Trong hộp thoại Choose a default operating system sẽ có nhựng lựa chọn hệ
điều hành chọn hệ điều hành mà ta muốn chọn làm mặc định.
Bước 4: Nhấn vào nút quay lại.
Bước 5: Chọn hệ điều hành mà ta muốn chạy.

+Chọn hệ điều hành mặc định trên Startup and Recovery
Bước 1: Mở Power User Menu (Win+X hoặc nhấn chuột phải vào nút start), nhấn vào
system.
Bước 2: Nhấn vào đường dẫn Advanced system settings ở bên trái, nó sẽ đóng cửa sổ
system.
Bước 3: Nhấn vào setting bên dưới startup and recovery.
Bước 4: Lựa chọn hệ điều hành (ví dụ win 10) ta muốn thành mặc định trong menu
Default operating system, nhấn vào Ok.


+ Chọn hệ điều hành mặc định trong System Configuration (msconfig)
Bước 1: Nhấn win+R để mở hộp thoại Run, gõ msconfig và nhấn vào ok để mở hộp
thoại System Configuration.
Bước 2: Mở tab boot, chọn hệ điều hành (ví dụ win 10) mà ta muốn là hệ điều hành
măc định, nhấn vào set as default và nhấn vào ok.
Bước 3: Khi sẵn sàng, nhấn vào nút restart để thực hiện.
Lưu ý: Điều này sẽ khởi động lại máy tính ngay lập tức. Hãy chắc chắn để lưu và
đóng bất cứ điều gì mở mà bạn không muốn để mất đầu tiên.

+ Chọn hệ điều hành trên Command Prompt



Bước 1: Mở elevated command prompt (Từ power used menu, task manger, searching
start menu, start menu, search, file explorer) hoặc command prompt at boot (từ
Windows 10 Installation Media hoặc Advanced Startup Options in Windows 10).
Bước 2: Gõ bcdedit trong command prompt và nhấn enter.
Bước 3: Dưới mỗi phần Windows Boot Loader, tìm kiếm mô tả hệ điều hành (ví dụ
Windows 10) ta muốn đặt làm hệ điều hành mặc định, và lưu ý của ký hiệu nhận dạng
(ví dụ: {current}).

Lưu ý: Trong phần đầu của Windows Boot Manager, identifier (ví dụ: {default}) cho
hệ điều hành mặc định sẽ được hiển thị ở bên phải default.
Bước 4: Gõ dòng lệnh bcdedit /default {identifier} trong command prompt và nhấn
enter.
Lưu ý: thay thế identifier trong lệnh trên với identifier thực tế (ví dụ: {current}) từ
bước 3 của hệ điều hành (ví dụ: Windows 10) mà ta muốn thiết lập như mặc định.



×