Giải thích rõ cơ chế boot khi máy tính cài đặt nhiều hệ điều hành

Trong thời gian qua, chúng ta đã nghe nhiều về việc các thiết bị đời mới [thường là máy tính bảng] có tính năng khởi động kép [dual-boot] được tích hợp vào hệ điều hành.

Một số người có thể đã biết khởi động kép là gì, nhưng phần lớn thì vẫn chưa rõ. Đa số người dùng có lẽ sẽ gãi đầu và tự hỏi: Khởi động kép là gì nhỉ? Và ưu, nhược điểm của nó ra sao? Quản trị mạng sẽ giúp bạn đọc giải đáp thắc mắc này thông qua bài viết sau đây.

Khởi động kép là gì?

Hãy bắt đầu với những điều cơ bản. "Khởi động" là gì khi nói đến điện thoại thông minh, máy tính bảng và thậm chí cả máy tính? Về cơ bản nó là việc bật máy. Cụ thể hơn, “khởi động” có nghĩa là đang nạp một bộ hướng dẫn từ bộ nhớ sau khi máy được bật hoặc thiết lập lại, cuối cùng cho phép hệ thống tải hệ điều hành và môi trường làm việc cần thiết. Lịch sử hình thành thuật ngữ và quá trình này khá là thú vị.

"Trình nạp khởi động" là chương trình nạp hệ điều hành chính [Android, Windows Phone, iOS, v.v.] sau khi hoàn thành việc tự kiểm tra khi nguồn bật [Power On Self Test - POST]. Thông thường, trình nạp khởi động cho phép bạn chọn “chế độ” muốn khởi động, chẳng hạn như chế độ bình thường hoặc chế độ khôi phục. Thuật ngữ "Booting" là viết tắt của "bootstrapping".

Cuối cùng, việc khởi động cho phép đi từ trạng thái tắt nguồn tới trạng thái nạp hệ điều hành. Khởi động kép cho phép chuyển từ trạng thái tắt nguồn sang menu mà bạn có thể chọn hệ điều hành mình muốn nạp. Menu này có thể có một, hai hoặc thậm chí nhiều tùy chọn hơn và mỗi tùy chọn sẽ nạp môi trường, trình điều khiển và hệ thống cần thiết cho tùy chọn đã được chọn.

Ưu điểm của khởi động kép

Ngày nay, điện thoại thông minh và máy tính bảng thực sự rất tuyệt vời. Chúng có CPU, GPU, RAM, bộ lưu trữ, modem tốc độ cao, khả năng kết nối không dây, màn hình độ phân giải cao và nguồn điện, tất cả được tích hợp vào một thiết bị duy nhất - và vừa vặn trong chiếc túi nhỏ xinh!

Thậm chí còn có nhiều hệ điều hành để lựa chọn. Nếu như máy tính để bàn và máy tính xách tay có thể chạy hệ điều hành như Unix, Linux, Windows hoặc Mac trên một phần cứng, điện thoại thông minh và máy tính bảng thường chỉ có thể chạy một hệ điều hành duy nhất. Nếu muốn chuyển sang hệ điều hành khác, thông thường bạn sẽ phải thay đổi phần cứng.

Về lý thuyết, việc khởi động kép loại bỏ sự dư thừa về phần cứng, yêu cầu nhà phát triển hoặc người sử dụng phải giảm số lượng thiết bị mà họ sở hữu và duy trì. Điều đó tương đương với việc tiết kiệm ít nhất vài trăm đô la, và có thể hơn thế rất nhiều.

Tuy nhiên, có một số ứng dụng chỉ thích hợp để chạy trên một hệ điều hành nhất định. Đôi khi, các ứng dụng thậm chí không có sẵn cho một trong những hệ điều hành phổ biến. Để giải quyết vấn đề này, bạn có thể dual-boot từ hệ điều hành này sang hệ điều hành khác, và chạy ứng dụng trong môi trường phù hợp nhất mà không cần phải mua thêm phần cứng hay thiết bị.

Nhược điểm của khởi động kép

Có một số lý do khiến bạn không muốn khởi động kép trên thiết bị. Thực tế, khởi động kép mang lại một số rủi ro. Đầu tiên là không gian. Chạy một hệ điều hành khác có nghĩa là hệ điều hành đó [và tất cả các trình điều khiển, cũng như các file của nó] phải được cài đặt trên thiết bị. Điều này thực sự làm giảm dung lượng lưu trữ có sẵn trong hệ thống.

Các ứng dụng thường không tương thích chéo giữa hai hệ điều hành, vì vậy có thể bạn sẽ phải cài đặt các phiên bản riêng cho từng hệ điều hành. Điều này không chỉ có nghĩa sẽ cần phải mua hai phiên bản của mỗi ứng dụng, mà còn cần dung lượng lưu trữ cho mỗi phiên bản. Bạn cũng sẽ phải mất thời gian và băng thông để cập nhật chúng. Các nhà phát triển cũng sẽ phải tốn thời gian sửa chữa và cập nhật hai bộ mã cơ sở riêng biệt cho các ứng dụng của họ, điều này thường làm chậm đáng kể chu kỳ phát hành.

Thông thường, các hệ thống lưu trữ không tương thích giữa hai hệ điều hành hoặc không được ánh xạ tới cùng một vị trí. Điều này có nghĩa là các tệp tải xuống, tạo hoặc chỉnh sửa trong hệ điều hành này sẽ không khả dụng trong hệ điều hành khác nếu không chuyển đổi thủ công giữa hai hệ điều hành, công việc mà mọi người thường làm bằng cách gửi bản sao tệp đó qua email. Hơn thế nữa, các định dạng tệp được sử dụng bởi một phiên bản của ứng dụng có thể không tương thích với phiên bản khác.

"Nhược điểm" cuối cùng chúng tôi muốn đề cập là thời gian. Phải mất thời gian để tắt một hệ điều hành và khởi động lại hệ điều hành khác. Đôi khi nó chỉ mất một phút hoặc lâu hơn, nhưng cũng là một khoảng thời gian chờ đợi đáng kể. Một số hệ thống khởi động kép có thể chạy đồng thời cả hai hệ điều hành, cho phép việc trao đổi dữ liệu giữa chúng nhanh hơn, nhưng những cấu hình này không phổ biến và thường xảy ra vấn đề khi chia sẻ tài nguyên. Hệ điều hành nào sẽ sử dụng và điều khiển modem LTE? GPS? Âm thanh? v.v.

Cuối cùng, việc khởi động kép nghe có vẻ tuyệt vời, nhưng thực tế, nó có thể đắt đỏ hơn và có nhiều nhược điểm hơn ưu điểm… Đấy là còn chưa nói đến thực tế là cả Microsoft và Google đều đang cố ngăn cản bất cứ ai đang bán một thiết bị có thể khởi động kép vào hệ điều hành của hai hãng này.

Xem thêm:

  • Cách tạo dual boot Linux và Windows 10 trên Linux
  • Cách tạo User mới trên Windows 10 bằng Computer Management và Control Panel
  • Hướng dẫn tạo hệ thống dual boot Windows 8 và Linux Mint

Hiện nay những ai sử dụng máy tính có ổ cứng SSD [Solid state Drive], với thời gian khởi động rất ngắn [khoảng 30s] thì có lẽ không kịp để ý trên màn hình nó hiện ra cái gì, và máy tính khởi động máy tính bằng cách nào. Nhưng nếu phải chờ đợi quá lâu thì không ít bạn sẽ tự hỏi: “Nó làm cái quái gì mà lâu vậy?@@”

Từ lúc bấm nút nguồn, máy tính khởi dộng bằng cách nào? Mời các bạn đọc bài viết sau đây để hiểu quá trình “gian khổ” này nhé. Nếu hiểu rõ nó, một ngày xấu trời, tuy trên màn hình đen thui chỉ xuất hiện vài dòng chữ trắng, hay chỉ nghe mấy tiếng “píp píp” nhạt nhẽo nhưng các bạn lại biết nguyên nhân và cách khắc phục đấy ^.^

Về cơ bản thì quá trình khởi động của máy tính có những bước sau:

Bấm nút nguồn.

Tất nhiên là phải bấm nguồn thì mới khởi động được, nhưng không cần bấm nút nguồn bạn vẫn có thể khởi động 1 máy tính với tính năng “Wake on LAN”, bật nguồn qua mạng. Tính năng này thì giành cho mấy ông quản trị mạng thôi chứ người dùng bình thường khi không cần quan tâm cho mệt 🙂 Thực ra thì khi bạn chưa bấm nút nguồn thì bo mạch chủ [mainboard] vẫn đượ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.

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,… Lúc này nếu bạn muốn thay đổi các cài đặt của phần cứng thì BIOS cũng cho phép điều đó. Tùy hãng sản xuất mà màn hình sẽ hiện dòng chữ hướng dẫn bạn ấn phím nào để vào cài đặt BIOS [F2,DEL,…], cũng có máy không hiển thị gì, cứ lặng lẽ chạy tiếp 🙂

Nếu quá trình POST kết thúc thành công [tức là không có thiết bị nào bị hỏng], thì 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… Bạn có thể quyết định khởi động hệ điều hành từ thiết bị nào bằng cách cài đặt trong BIOS.

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.

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 đó . Bạn chỉ được kích hoạt [active] 1 phân vùng duy nhất.

Thấy có vẻ phức tạp nhưng quá trình này cơ bản là 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.

Có nhiều loại bootloader như GRUBLILO [tiền thân của GRUB] trên Linux, trên Windows có NTLDRBOOTMGR. Bootloader của Linux có thể khởi động cho cả Windows, nhưng bootloader của Windows không hỗ trợ khởi động Linux =.=

Nhiều loại nhưng chúng đều có chung mục đích: cho phép bạn 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. Bạn nào sử dụng máy có nhiều hệ điều hành sẽ hiểu rõ giai đoạn này. Khi chúng ta 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.

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 bạn đăng nhập, hoặc vào thẳng desktop sẵn sàng cho bạn sử dụng.

Trên đây là cơ bản về quá trình khởi động một máy vi tính, rất nhiều tác vụ được thực hiện để đi tới màn hình desktop cho bạn sử dụng phải không? Cảm ơn các bạn đã theo dõi.

Xem thêm: Làm thế nào để cài đặt Windows lên máy tính

Xem thêm: Những phần mềm không thể thiếu trên Windows

Video liên quan

Chủ Đề