niemtin007

facebook.com/niemtin007

hãy theo đuổi đam mê - chủ nợ sẽ theo đuổi bạn

Monday, August 21, 2017

Tớ đã build Multiboot Toolkit như thế nào ? Phần 1



Nếu như việc cài đặt nhiều hệ điều hành trên cùng một phần cứng máy tính (MultiOS) đã khó thì việc tạo một thiết bị khởi động (MultibootUSB) càng khó hơn. Cái khó ở đây là bạn phải biết cách kết hợp mọi thứ lại làm một mà vẫn khiến chúng hoạt động tốt. Tài liệu build công cụ boot này khá ít, lộn xộn và khó hiểu, chủ yếu là Tiếng Anh vì nó vẫn còn trong giai đoạn nghiên cứu và hoàn thiện.

Nói trước một điều, công việc phát triển công cụ boot sẽ rất gian nan nhưng cũng không kém phần thú vị. Đến với Multiboot bạn cần phải tự học, nghiên cứu và thử nghiệm rất nhiều mới có được kết quả (giống như một nhà khoa học máy tính vậy). Tất nhiên, với những chia sẻ trong chuỗi bài viết này. Tớ tin rằng các bạn sẽ tiết kiệm được rất nhiều thời gian và công sức. Con số đó có lẽ nhỏ hơn nhiều so với khoảng thời gian mà tớ tự học và ngâm cứu. Yên tâm đi, tất cả kiến thức mà tớ dành cho các bạn là hoàn toàn miễn phí ;)

"Vạn sự khởi đầu nan, gian nan bắt đầu nản" Nếu bạn hứng thú với chủ đề này chúng ta sẽ cùng tiếp tục ^_^



Phần 1: Cách thiết lập môi trường ảo hóa và công cụ test

Trong quá trình build một thiết bị boot bạn sẽ cần phải kiểm tra khá nhiều bằng cách cài đặt, chạy thử và xem cách ứng xử của hệ thống để đưa ra giải pháp cho phù hợp. Việc cài đặt và test liên tục trên một thiết bị thật như USB hay ổ cứng di động nhiều sẽ ảnh hưởng đến tuổi thọ của thiết bị và thời gian chờ cũng lâu hơn do giới hạn tốc độ của phần cứng. Và không phải lúc nào ta cũng phải khởi động lại máy tính liên tục để kiểm tra thiết bị boot có làm việc đúng như ta mong đợi hay không. Một tin vui cho các bạn là ta hoàn toàn có thể mô phỏng thiết bị boot và quá trình boot một cách hoàn hảo hơn 90% so với test trên phần cứng thật.

1. Cách tạo ổ cứng ảo

Ổ cứng ảo được sử dụng rộng rất rộng rãi. Nó có thể là một phần của một máy tính ảo hóa hoặc các ổ cứng ảo VHD do chính Windows hỗ trợ để tạo boot, lưu trữ và mã hóa dữ liệu.

Khi tạo ổ cứng ảo thực chất nó tạo ra một file .vdi (VirtualBox), .vmx (VMware) hay .vhd .vhdx (VHD) chứa thông tin giả lập bảng phân vùng của một ổ cứng. Sau khi tạo ra ta mount nó và nó sẽ xuất hiện trong trình quản lý Explorer như một ổ cứng bình thường. Nếu bạn đã từng sử dụng các file ảnh ISO (là dạng ảo hóa của ổ CD/DVD) thì cách hoạt động cũng tương tự. Tốc độ đọc ghi của ổ ảo phụ thuộc vào nơi bạn lưu trữ file giả lập, tức là bạn lưu trên ổ cứng thì tốc độ chép file vào nhanh, để trên USB thì tốc độ chép file vào chậm.

Ổ cứng ảo sẽ có 2 dạng tương ứng với hai cách mà nó chiếm dung lượng trên ổ vật lý:
  • Dinamically Expanding: file giả lập của ổ ảo có dung lượng rất nhỏ và nó sẽ phình ra tùy vào lượng dữ liệu mà bạn chép vào. Khi xóa dữ liệu đi dung lượng chiếm không tự động nhỏ lại. Nếu chép thêm dữ liệu dung lượng chiếm trên ổ vật lý có thể lại phình ra thêm (nguyên nhân do cách dữ liệu sắp xếp trên sector của ổ cứng vật lý thôi bạn, nếu có thời gian mình sẽ viết bài về cứu dữ liệu và sẽ giải thích kỹ hơn về cơ chế này). Đối với dạng này, mặc dù ổ cứng thật nơi chứa file ảo hóa của nó có kích thước giới hạn nhưng bạn hoàn toàn có thể thiết lập dung lượng ổ ảo lớn hơn gấp nhiều lần (nhưng tất nhiên lượng dữ liệu tối đa có thể lưu trữ vẫn nằm trong giới hạn của ổ cứng vật lý của bạn)
  • Fixed Size: dung lượng ổ ảo khi thiết lập bao nhiêu sẽ chiếm dung lượng lưu trữ trên ổ cứng vật lý bấy nhiêu, con số này là cố định. Cho dù bạn có chép dữ liệu có dung lượng thấp thì dung lượng chiếm của ổ ảo này vẫn bằng con số mà ta thiết lập từ đầu cho nó.
Ở bài này để thuận tiện mình chỉ sử dụng ổ cứng VHD. Bạn có thể sử dụng trình quản lý ổ đĩa Disk Management mặc định của Windows để tạo nhưng tính năng khá giới hạn. Riêng mình thích sử dụng Simple VHD Manager (download) của Sordum hơn ^^


Sau khi tạo ổ đĩa ảo nó sẽ tự động được mount nhưng bạn sẽ không thấy được nó trên trình quản lý ổ đĩa Explorer. Lý do là ổ ảo này chưa được format bạn cần dùng một tool phân vùng để format hoặc tạo lại phân vùng mới cho nó.



Một vấn đề nữa là mặc định ổ cứng ảo sử dụng bảng phân vùng MBR, nếu muốn test thiết bị boot trên GPT bạn cần dùng tool phân vùng để conver nó sang ổ GPT. (Có thể dùng Diskpart nếu bạn biết thao tác ở Command Prompt ^^ ). Nhưng với những bạn mới mình khuyên nên sử dụng một phần mềm quản lý phân vùng như AOMEI Partition Assistant hay Minitool Partition Wizard cho trực quan.





Ở các lần khởi động tiếp theo, có thể ổ VHD sẽ không tự động mount nữa cho bạn. Bạn chỉ cần mở lại Simple VHD Manager >> chuột phải vào tên ổ đĩa đã tạo >> chọn attach là được.


2. Cách tạo máy tính ảo và thiết lập chuẩn boot

Ngoài ổ cứng ảo để giả lập một thiết bị rời như USB hay một chiếc ổ cứng di động thì bạn cần chuẩn bị một chiếc máy tính ảo nữa. Nếu như VMware được mệnh danh là vua trong phần mềm tạo máy tính ảo có trả phí thì VirtualBox là vua trong thế giới phần mềm nguồn mở. Nhưng không phải cứ phần mềm trả phí là tốt nhất. Tin tớ đi ;) Trong kinh nghiệm nhiều năm chơi ảo hóa, để giả lập hệ thống boot thì VirtualBox vẫn tốt hơn cả.

Quá trình ảo hóa sẽ cần một phần cứng đủ mạnh (ram ít nhất 4GB) cùng với hệ điều hành làm máy chủ là phiên bản 64bit. Nếu bạn đang xài Windows 32bit thì mình khuyên không nên dùng nó làm máy chủ để thực hiện việc ảo hóa này.

Bước 1: Lên trang chủ VirtuaBox (HomePages) >> Click vào dòng Windows hosts để tải bộ cài VirtualBox về.
Bước 2: Cài đặt bình thường như tất cả các phần mềm khác.
Bước 3: Tạo mới máy ảo giả lập và tùy chỉnh

3. Cách khởi động thiết bị ảo hóa trong môi trường giả lập

Có ổ ảo và máy tính ảo thì bạn đã có thể test được khả năng boot rồi nhưng mỗi lần thay đổi các ổ ảo hay thiết bị boot thật sẽ khá mất thời gian và rườm rà. May mắn cộng đồng reboot.pro đã cho ra một tool mang tên là Virtual Machine USB Boot (download) để hỗ trợ boot các thiết bị di động vào môi trường ảo hóa thông qua VirtualBox.

Sau khi đã tạo máy ảo và tùy chỉnh như trên, ta chỉ việc chạy tool và làm theo hình



Đơn giản vậy thôi, tiếp theo bạn có thể cài thử Multiboot Toolkit lên một ổ cứng ảo và test thử nó xem hệ thống ảo hóa đã hoạt động tốt chưa ^^

Vậy cần phải trang bị thêm kiến thức và công cụ gì để tự xây dựng một công cụ Multiboot cho riêng mình, mời bạn theo dõi ở phần tiếp theo.

(To be continued ...)


Saturday, June 25, 2016

[Guide] Sử dụng Clover bootloader để quản lý Multi OS


Multi OS là một khái niệm nói đến việc cài nhiều hệ điều hành chạy trên cùng một phần cứng máy tính. Với sự phát triển của cộng đồng hackintosh, sự phát triển mạnh mẽ của Linux những năm gần đây thì việc Multi OS khá cần thiết để trải nghiệm tốt các hệ điều hành, tạo môi trường làm việc, lập trình tốt hơn. Bài viết này không hướng đến những cá nhân chỉ sử dụng Windows với những tính năng hết sức cơ bản như lướt web, gõ văn bản... Bài viết hướng đến người dùng máy tính nâng cao, những lập trình viên, developer... Tất nhiên, nếu bạn là một vọc sĩ thích sự mới mẻ thì guide này cũng là một sự lựa chọn không tồi dành cho bạn




Sơ lược về Clover bootloader

Clover là một trình khởi động được cộng đồng hackintosh phát triển nhằm hỗ trợ việc cài Mac OS lên máy tính thông thường chạy chip Intel mà không sử dụng phần cứng của Apple. Clover được xây dựng trên nền tảng của rEFInd và đã phát triển độc lập. Ưu điểm của trình khởi động này là menu boot rất đẹp, đa năng và khả năng tùy biến cao

Nếu như bạn đã từng cài Multi OS thì cũng thấy sự khó chịu nhất định trong quản lý menu khởi động của các hệ điều hành đã cài nhất là với Linux khi sử dụng Grub2 làm trình bootloader mặc định nhìn khá cùi mía và dễ gây ức chế người dùng.




Vấn đề cần giải quyết!

Thường thì sau khi cài hackintosh, chọn Clover làm trình khởi động thì menu của Windows, MacOS, và một số Linux đã mặc định hiện trên Menu của clover. Nguyên do là Clover đọc file *.efi từ phân vùng EFI để tự động thêm vào menu.

Vấn đề 1: nếu bạn chọn cài những Linux Distro phổ biến thì menu sẽ tự động thêm cho bạn nhưng nếu những distro bạn dùng không phổ biến hoặc mới xuất hiện vài năm gần đây thì menu sẽ không được tự động cho bạn

Vấn đề 2: Boot qua file *.efi cho Linux cũng chỉ là một bước trung gian để khởi động vào Grub2. Vậy nếu để mặc định thì lại thành thừa thải (xã hội gọi là rảnh đó bạn ^^ ). Nguyên do là bạn phải dùng 2 thao tác là chọn menu qua clover rồi lại chọn qua Grub2 mới vào hệ điều hành mà bạn muốn >>> Vậy thì dùng Grub2 luôn cho khỏe chứ xài Clover làm gì -_-





Mục đích của guide này?

Thêm đầy đủ các hệ điều hành từ Windows, MacOS đến Linux lên menu của Clover và chỉ cần enter vào menu đã chọn là boot thẳng vào hệ điều hành bạn muốn. Ngoài ra còn hướng dẫn cho các bạn cách khắc phục một số lỗi trong quá trình sử dụng





Linux khởi động từ Clover như thế nào?

Từ Kernel 3.3 trở lên Linux đã hỗ trợ khởi động bằng EFISTUB (EFI BOOT STUB). Đây là phương pháp có thể khởi động trực tiếp kernel từ EFI mode. Grub2 cũng khởi động thông qua nó, khi sử dụng Clover bootloader bạn có thể boot trực tiếp qua kernel này, xong ở một số trường hợp Clover chưa hỗ trợ cho một số distro linux đặc biệt ta vẫn cần load thông qua trợ giúp Grub2 bootloader

Mặc định Clover bootloader không hỗ trợ driver cho linux để load trực tiếp kernel, để sử dụng tính năng hữu ích này ta cần lấy driver từ rEFInd boot manager (download here)






Có bao nhiêu cách để thêm Linux vào menu Clover

Cách 1: Chỉ cần chép driver của rEFInd vào thư mục drivers64UEFI là, trong thẻ GUI ở khung scan tích vào cả 2 ô kernel và linux là menu của Linux tự động add vào menu clover
  • Đơn giản, không phải thao tác gì nhiều. Cách này dùng cho những distro phổ biến
  • Không tùy biến icon được, một số distro mới Clover không nhận diện được

Cách 2: Thêm menu trực tiếp cho linux vào Clover bằng cách boot qua vmlinuz. Thực ra bản chất cũng như cách 1 nhưng ta có thể tùy chỉnh được các thiết lập
  • Không phụ thuộc vào grub2
  • Dễ chỉnh sửa thuộc tính boot

Cách 3: Thêm menu cho Linux trên Clover bằng cách chạy thông qua file grubx64.efi (hoặc shimx64.efi hay bootx64.efi)
  • Tận dụng config mặc định của Grub2, dùng cho một số distro đặc biệt không thể load thông qua vmlinuz trực tiếp được thí dụ như các distro họ Android hay các distro mới ra gần đây có cấu trúc phân vùng đặc biệt khiến driver chưa thể nhận diện được
  • Chỉ cần địa chỉ phân vùng PARTGUID, bạn có thể lấy thông qua boot.log trên Clover configurator
  • Cần phải thao tác thêm vào grub2




Với cách 2 và cách 3 hầu hết các thiết lập đều đã có sẵn duy nhất có 2 giá trị ta cần phải tìm đó là PARTUUIDUUID. Các bạn boot vào Linux, mở Terminal và oánh lệnh
  • sudo blkid


Copy đúng chuỗi số vừa lấy được của phân vùng bạn muốn multiOS vào config.plist với các giá trị tương ứng
  • Volume = PARTUUID (Lưu ý cần chuyển chuỗi vừa lấy được thành chuỗi in hoa, có thể dùng phím chức năng Shift+F3 trên Word hoặc sử dụng tính năng này trên Unikey)
  • AddArguments = UUID





1. Đối với máy tính đã có Clover thừa kế sau khi cài hackintosh

Như tiêu đề của chuỗi bài viết về hackitosh dành cho newbie, việc cài thành công hackintosh là con đường dễ dàng để đi đến multi OS, vậy dễ ra sao:

Khởi động vào Mac OS >>> bật trình chỉnh sửa Clover Configurator >>> chuyển sang thẻ Boot.log



Các bạn mở file config.plist trong EFI/CLOVER rồi chuyển sang thẻ Gui và làm như hình. Click vào dấu "+" ở khung "Custom Entries" để thêm Menu mới cho UEFI mode

Thực ra đối với Windows và Mac OS thì không cần phải thêm menu làm gì vì Clover đã tự nhận diện tụi nó trên trình đơn khởi động, nhưng nếu bạn muốn sắp xếp menu nào trước sau thì nên tùy chỉnh thêm menu cho nó

  • Volume: dán địa chỉ phân vùng vào đây (xem ở boot.log). Lưu ý nếu boot từ grubx64.efi thì địa chỉ phân vùng là của EFI; còn từ vmlinuz thì địa chỉ phân vùng là phân vùng cài đặt OS
  • Path: oánh đường dẫn đến file *.efi hoặc vmlinuz
  • AddArguments:

    Với Mac OS kiểu như này:
    slide=0 dart=0 nv_disable=1 -gux_defer_usb2 kext-dev-mode=1

    Với Linux thì có cấu trúc như này
    root=UUID=62b30549-d7c3-4e82-b905-92031a7a7f50 ro initrd=initrd.img add_efi_memmap
    (thêm lệnh quite nếu muốn ẩn các tiến trình khi boot)
    Thay chuỗi số phía trên bằng UUID phân vùng chứa OS mà bạn muốn thêm menu

  • Title / FullTitle: Oánh tên bạn muốn hiện trên menu khi chọn
  • Image: tên của icon trong thư mục icon của theme bạn đang dùng, lưu ý nếu chưa có icon của OS bạn đang dùng bạn có thể tạo icon bằng photoshop định dạng .png sau đó đổi đuôi thành .icns (Thí dụ tên file icon là os_parrot.icns thì chỉ cần oánh tên ở mục này là parrot

  • Type: Chọn kiểu boot cho OS (Windows, OSX, Linux, First)
  • VolumeType: chọn Internal






2. Đối với máy tính chưa cài hackintosh

Để trực quan trong chỉnh config.plist bạn có thể sử dụng máy ảo chạy Mac OS và cài thêm Clover configurator (xem cách sử dụng máy ảo Mac OS tại đây). Nhưng để không mất thời gian bạn có thể chỉnh sửa config.plist bằng trình edit thông dụng như Notepad++ cũng được chỉ cần bạn cẩn thận một chút để tránh làm hỏng cấu trúc config


Tiến hành giải nén file vừa tải, mount Clover-v2.3k-xxxx-X64.iso và copy thư mục CLOVER ra ổ cứng để tiến hành chỉnh sửa config.plist

Click vào dấu "-" để thu gọn các thẻ không dùng đến, ta chỉ quan tâm đến thẻ GUI. Các bạn so sánh nội dung code dưới đây và hình phía trên để chỉnh sửa code cho đúng nhé



Tải Config.plist có nội dung phía trên ở đây http://www.fshare.vn/file/7DZJHGNKOFTL
>> Cloud Clover Editor (chỉnh sửa config.plist trên nền web)

Sau khi chỉnh sửa config.plist xong copy thư mục Clover vào phân vùng ESP (EFI). Set boot cho Clover làm mặc định bằng tay như hình dưới.

Lưu ý để truy cập vào phân vùng ESP có nhiều cách, cách mình thường dùng và cảm thấy hiệu quả nhất là boot vào WinPE, mở tool phân vùng như MiniTool Partition Wizard >>> gán Letter cho ESP >>> mở trình Explorer nhấn F5 để Refresh là có thể full quyền truy cập và chỉnh sửa EFI. Có thể tham khảo bài này để tự tạo một chiếc USB multiboot đa năng cho riêng mình



Hoặc nếu trên Windows bạn có thể dùng Xorboot (download here) để thêm entries cho Clover như này







So sánh 2 hình minh họa về Boot Entries ở hai phần 1, 2 chắc bạn đủ thông minh để hiểu cách tích hợp rồi, nhưng để rõ ràng mình sẽ tóm tắt lại như sau:

Cách 1. Nếu cài các distro phổ biến như Ubuntu, Linux Mint, Fedora, OpenSuse, ... chỉ cần copy driver vào thư mục drivers64UEFI, sau đó tùy chỉnh thêm config.plist bật 2 thiết lập kernel và linux là được, menu của linux sẽ tự động hiện trên Clover bootloader, nhưng sẽ xuất hiện một menu thừa do Clover đọc file grubx64.efi từ phân vùng ESP (EFI). Để menu được thoáng hơn, ở thẻ hide bạn thêm bootx64.efi để ẩn nó đi, hoặc có thể vào phân vùng ESP (EFI) xóa folder của distro đó đi là được (thí dụ như folder Ubuntu - để an toàn có thể nén folder Ubuntu lại trước rồi mới xóa folder Ubuntu)

Cách 2. Nếu sau khi làm theo cách 1 nếu Clover nhận kernel nhưng hệ thống icon nhận sai hết bạn có thể dùng cách 2 để thêm menu entries cho Linux để dễ tùy chỉnh
Có 2 thiết lập quan trọng cần chú ý là:
Volume: oánh là vmlinuz
AddArguments: oánh theo cấu trúc
root=UUID=62b30549-d7c3-4e82-b905-92031a7a7f50 ro initrd=initrd.img add_efi_memmap
(thêm lệnh quite nếu muốn ẩn các tiến trình khi boot)
Thay chuỗi số phía trên bằng UUID phân vùng chứa OS mà bạn muốn thêm menu
Các thiết lập còn lại bạn tùy chỉnh giống như menu Kali Linux (4) và Ubuntu (5) mình đã ví dụ ở phía trên


Cách 3. Sau khi làm cách 1 đầy đủ nhưng không thấy menu xuất hiện, làm luôn cách 2 mà cũng không được thì bạn có thể liệt kê cái Linux OS bạn đang cài là thuộc dạng đặc biệt. Đến thời điểm này mình chỉ mới biết là Parrot OS và các distro họ Android (Androidx86, RemixOS, PhoenixOS). Vì vậy lúc này load thông qua grubx64.efi là tối ưu hơn cả.
  • Bước 1: Thêm menu bạn làm tương tự với Parrot OS mà mình đã để hình thí dụ phía trên
  • Bước 2: Boot vào Linux quyền Root tìm đến file grub.cfg theo đường dẫn /boot/grub/grub.cfg; Tìm và sửa hết các dòng có nội dung set timeout về 0 hết cho mình và lưu lại thiết lập






Lời kết

Đối với sự phát triển phần cứng hiện nay cùng với giá linh kiện điện tử rẻ đi rất nhiều, khá dễ dàng để tìm cho mình một cấu hình máy tốt để chạy tốt các trình ảo hóa như VMWare hay VirtualBox. Guide này chỉ là một sự lựa chọn thay thế; quyền lựa chọn là ở các bạn. Nhưng dám chắc một điều chạy đa hệ điều hành trực tiếp trên phần cứng máy tính sẽ mang lại hiệu suất và trải nghiệm tốt hơn rất nhiều so với ảo hóa. Hi vọng Guide này hữu ích với các bạn, chúc các bạn thành công ^^






Tuesday, June 21, 2016

[Guide] Hướng dẫn cài đặt Parrot OS trên UEFI multiboot với các OS khác


Có thể nói Parrot OS là Linux Distro mình yêu thích nhất. Là một hệ điều hành chuyên về xâm nhập, bảo mật, pháp y số, ẩn danh... Nhưng nó không chỉ dành riêng cho chuyên gia mà nó còn được thiết kế để dành cho cả người dùng cơ bản. Hôm nay mình sẽ hướng dẫn các bạn cách cài đặt nó lên máy tính ở UEFI Mode

Bạn có thể tải Parrot OS tại: https://www.parrotsec.org/





Bước 1: tạo USB cài đặt Parrot OS


Cũng như Kali Linux, Parrot OS được xây dựng trên nền tảng của debian nên cách tích hợp USB và cách cài tương tự nhau. Nhưng hiện tại phiên bản mới nhất của Parrot OS vẫn chưa fix được lỗi không thể cài Grub2. Để khắc phục lỗi này bạn có thể cài đặt Parrot OS từ chế độ live desktop sau đó cài thêm một distro linux khác, lúc này menu sẽ tự động sửa chữa cho bạn, khi boot vào Parrot OS được rồi thì kết nối internet và chạy các lệnh ở cuối bài để cài đặt lại Grub2 cho Parrot
https://niemtin007.blogspot.com/2015/08/make-usb-install-kali-linux-20-uefi-gpt-multiboot.html


Nếu đã thử tích hợp trực tiếp bộ cài Parrot OS vào USB giống như Kali linux mà không thể boot được thì bạn cần tải công cụ dưới đây để giúp boot được Parrot OS vào môi trường live desktop
https://niemtin007.blogspot.com/2015/12/multiboot-usb-grub2-grub4dos-syslinux-refind-xorboot-uefi-legacy-mode.html

Sau khi tích hợp MultibootUSB vào USB ta copy ISO của Parrot OS và Boot-Repair-Disk vào thư mục gốc trên USB, chạy file .addmodule.bat quyền quản trị

Boot vào Parrot OS để kiểm tra khả năng tương thích phần cứng của Parrot OS với máy bạn. Nếu ổn, tiến hành chạy trình cài đặt




Bước 2: cài đặt Parrot OS multiboot với các OS khác


Một lợi thế tuyệt vời của UEFI mode là việc multiboot hệ thống vô cùng dễ dàng. Ta chỉ cần chuẩn bị riêng một phân vùng cho OS muốn cài và tiến hành cài đặt. Việc multiboot sẽ diễn ra tự động









Bước 3: fix boot cho Parrot OS


Chạy boot-repair-disk trên trình đơn của MultibootUSB và tiến hành fix grub2. Mục đích ở bước này là tận dụng menu của một distro khác để boot vào Parrot OS



Sau khi boot vào Parrot OS thông qua Grub2 bootloader của một distro (của mình là ubuntu, riêng trường hợp máy chưa có một distro linux nào khác thì boot-repair-disk sẽ không nhận diện được, bạn cần cài thêm một distro linux khác để fixboot cho ParrotOS - cài xong không thích có thể xóa đi), kết nối mạng internet rồi mở Terminal quyền root (icon màu đỏ đó các bạn) và oánh các lệnh sau:

  • mount /dev/sda1 /boot/efi
  • apt-get install --reinstall grub-efi
  • grub-install /dev/sda
  • update-grub


Nếu bạn muốn một menu đẹp như này mời bạn đọc bài viết sử dụng Clover bootloader trong phần tiếp theo

(To be continued!)





Monday, December 28, 2015

Multiboot USB Flash Drive for UEFI/Legacy Mode - không chỉ là một chiếc USB cứu hộ


Bạn thường dùng USB để làm gì? Ngoài lưu trữ dữ liệu bạn còn làm gì nữa? Có bao giờ bạn tự hỏi là mình có thể làm gì khác trên chiếc USB của mình? Và cũng có bao giờ bạn cũng tự hỏi: "có cách nào để chạy Windows và Linux trực tiếp mà không phải cài đặt!?"

Công cụ dưới đây sẽ giúp bạn sở hữu một chiếc USB đa năng không chỉ dùng để lưu dữ liệu, cứu hộ mà còn nhiều hơn thế!




Changelog Multiboot Toolkit 2.3.2: (work-in-process)
  • Fixed installer script for Virtual Disk & USB in the Turkish system language
  • Added more modules (AOMEI Backupper, TrueImage 2020, Bob.Ombs.Win10PEx64...)
  • Supported to update Grub4dos automatic with the batch script
  • Fixed bug in the grub2 installer script for GPT disk
  • Supported script to create a new WIM menu in the WinPE Boot Manager
  • Supported Simplified Chinese language (thanks to A1ive)
  • Supported script to arrange the grub2 menu (add, remove, sort)
  • Supported script to create BIOS Boot Partition automatic
  • Supported to create GPT bootable USB disk (limited features)
  • Display copy percentage when integrating Wim, ISO modules type
  • Disabled SpVoice on Windows lite, added more grub2 themes
  • Supported install Windows from ISO directly (thanks to A1ive)
  • Supported script to update grub2 and grubfm automatic (thanks to By_FaRuK)
  • Supported to boot Linux Distro live ISO via partnew - Easy2Boot method
    (thanks to Steve6375 & A1ive)
  • Type: open-source project
  • Platform: Windows (7 or higher version)
  • License: GNU General Public License v3.0
  • User Interface: Console/Terminal
  • WinSetupFromUSB (Home Page)
  • YUMI boot (Home Page) - Multiboot Toolkit does not support for UEFI YUMI



Cách tích hợp:







Multiboot Toolkit được thiết kế cho ai?

Đây là món quà dành tặng cho những người bạn là kỹ thuật viên, chuyên viên cứu hộ, chuyên gia bảo mật/ an ninh mạng/ hacker mũ trắng, sinh viên IT hay đơn giản hơn là những newbie, vọc sĩ thích khám phá
P/s: xin lưu ý bản thân Multiboot Toolkit không chứa những công cụ nguy hiểm nhưng nó giúp tích hợp rất nhiều công cụ mạnh mẽ vì vậy hãy sử dụng với mục đích tốt và đừng lạm dụng nó!



Demo


rEFInd boot manager - UEFI


Chế độ UEFI - Grub2


Xorboot boot manager - UEFI


Chế độ Legacy - Grub2


Chế độ Legacy - Syslinux


Chế độ Legacy - Grub4dos





Mã nguồn:
    Tool được phát triển dựa trên gói BootUSB của anh Đặng Văn Anh (anhdv), sử dụng các bootloader mã nguồn mở Grub2/rEFInd/Xorboot/Clover/Grub4dos/Syslinux. Các module trong tool gồm WinPE SE được build bởi anhdv, apolloneptune, dinhphucit, Hoàng Khiển, ... gói Apps của anh Hà Sơn. Ngoài ra distro của linux, recuse, các tool cứu hộ khác được lấy từ trang chủ. Multiboot Toolkit được phát triển để liên kết các công cụ khác lại với nhau với mục đích tạo một chiếc USB đa năng giải quyết được hầu hết các vấn đề trong sử dụng máy tính



Tính năng hỗ trợ:
  • Hỗ trợ boot Legacy bằng Grub2, Grub4dos và Syslinux
  • Hỗ trợ boot UEFI bằng Grub2, Clover, Xorboot và rEFInd boot manager
  • Hỗ trợ boot qua lại giữa các bootloader mà không phải khởi động lại máy
  • Menu hiện thị tính năng phù hợp với chuẩn boot Legacy hay UEFI
  • Hỗ trợ boot Linux live ISO (tích hợp nhiều code boot sẵn - chỉ hiện thị menu khi có file ISO)
  • Hỗ trợ boot Antivirus live ISO dùng để quét virus ngoài môi trường Windows
  • Hỗ trợ boot WinPE SE để cứu hộ chuyên sâu



Cụ thể bạn có thể làm gì?
  • Phân vùng, cứu dữ liệu, test phần cứng máy tính thông qua WinPE SE
  • Cài Windows trực tiếp qua WinSetupfromUSB hoặc gián tiếp thông qua WinPE SE
  • Chạy trực tiếp các distro của linux dạng ISO mà không phải dùng bất kỳ tool tích hợp vào USB nào cả (có thể cài được linux trong môi trường live ISO)
  • Chạy các công cụ cứu hộ, diệt virus nền linux như: Acronis True Image, Parted Magic, Bitdefender Rescue CD ...
  • Chạy live các hacker distro gồm các công cụ mạnh mẽ trong pentesting, hacking, ẩn danh, pháp y, bảo mật...
  • Boot vào Windows/Linux/MacOS chế độ UEFI (chỉ hỗ trợ máy mac thật, chưa support cho hackintosh) thông qua rEFInd trong Multiboot OS





Danh sách themes





Link download Module

Multiboot Toolkit hỗ trợ cho rất nhiều dạng module, các phiên bản mới nhất của các module luôn được cập nhật liên tục. Để sử dụng các module mới nhất vui lòng lên trang chủ và tải về. Tùy nhu cầu sử dụng của mỗi người mà các bạn chọn tải về từng module mà các bạn muốn dùng. Càng muốn thêm nhiều module bạn cần phải sử dụng USB có dung lượng lớn hơn. Bản thân mình sử dụng USB 32GB

(Chi tiết xem ở file .modules)

WinPE SE - Mini Windows
Download
Apps cho WinPE (Hà Sơn)
Win8PE - Win10PE SE (anhdv)
Win8.1SE - Win10PE SE (apolloneptune)

Desktop/Service Linux Distros
Download
Android-x86
Arch
CentOS
Clonezilla
Chromixium
Debian
Elementary
Fedora
Gentoo
Knoppix
Linux Mint
Mageia
Manjaro
OpenSuse
Parted Magic
Sabayon
Slackware
Systemrescuecd
Ubuntu
Zorin OS

Hacker Distro
Download
ArchAssault
Backbox
BlackArch
DEFT-Z
Fedora Live Security
Kali Linux
NodeZero
Network Security Toolkit
Parrot OS
Tails
Wifislax
Weakerthan

Antivirus Live ISO
Download
AVG Rescue CD 
Avira Rescue System
BitDefender Rescue CD
Dr.Web® LiveDisk
ESET SysRescue Live
F-Secure Rescue CD
Kaspersky Rescue Disk 10
Vba32 Rescue



Công cụ test USB & cách test


Đối với việc kiểm tra khả năng boot và chỉnh sửa giao diện khuyên bạn dùng Qemu Boot Tester để chạy thử. Còn để test WinPE, test ISO booting và các module tích hợp khác khuyên dùng Virtualbox cùng với công cụ Virtual Machine USB Boot. Hoặc để không rườm rà bạn khởi động lại máy bạn chọn chế độ boot vào USB để trải nghiệm




Vấn đề lỗi và báo lỗi

Mặc dù đã cố gắng hoàn thiện nhưng không tránh khỏi sai sót về code boot, mặt khác code boot live ISO còn phụ thuộc vào phiên bản phát hành của các hãng nên sẽ khác nhau đôi chút. Vì vậy sẽ được tiến hành fix lỗi qua các phiên bản tiếp theo để theo kịp các gói update của các phần mềm, OS ... tích hợp trong Multiboot Toolkit dưới dạng module. Nếu một tính năng nào đó hoạt động không tốt mong được phản hồi (các bạn có thể gửi email hoặc nhắn tin trực tiếp trên trang facebook cá nhân của mình, cám ơn)





Lời nhắn gửi!

Trước tiên xin gửi lời cám ơn chân thành đến anh Hà Sơn đã góp ý và giúp fix lỗi cũng như chia sẻ rất nhiều gói Apps chạy tốt trên nền WinPE. Cám ơn anhdv đã ra bộ WinPE tuyệt vời cũng như là người có công đầu trong việc đặt nền móng để công cụ Multiboot Toolkit này ra đời. Cám lethimaivi đã giúp cải tiến chức năng, cám ơn bác Hoang Duch2 đã giúp support nhiệt tình trên diễn đàn. Và đặc biệt cám ơn các bài viết cũng như comment trên các diễn đàn linux (code mình lượm và chế từ đây ra :D )

Bản chất Multiboot Toolkit được build lại, và cũng có thể gọi là bản nâng cấp từ gói BootUSB của anhdv. Tất cả các công cụ người khác đã làm sẵn, mình chỉ làm cho nó màu mè hơn cũng như thêm code boot để nó đa năng hơn

Multiboot Toolkit thực sự giúp chiếc USB có thể làm hơn những gì nó được thiết kế ra, thông qua đây mình muốn xây dựng một cộng đồng phát triển nó và hưởng lợi từ nhau vì mình có ý tưởng nhưng bản thân còn nhiều hạn chế về trình độ cũng như kiến thức. Mình quyết định đặt tên phiên bản cho nó với mục đích là sẽ tiếp tục phát triển và nâng cấp nó thêm nhiều tính năng hữu ích hơn. Multiboot Toolkit luôn miễn phí cho tất cả các bạn. Chúc vui ^_^








Changelog Multiboot Toolkit 2.3.1: (01-07-2019)
  • Fixed "Load driver failed..." on Windows 64bit
  • Fixed bug for bcdedit, method change to keep configuration for WinSetupFromUSB
  • Updated WinSetup.ISO.Module_(ISO.method) -- developed by Tayfun Akkoyun
  • Added Hiren’s BootCD PE as a module (in Windows Boot Manager menu & Grub2)
  • Supported Wimboot in UEFI mode (thanks to A1ive, Serhat100, Tayfun Akkoyun)
  • Fixed grub2 configuration for Linux Distro, Rescue Disk (live ISO & extracted)
  • Added more themes (thanks to gnome-look.org & clover team):
    32 themes for the Grub2 Bootloader & 42 themes for the rEFInd Boot Manager

Changelog Multiboot Toolkit 2.3.0: (28-05-2019)
  • Supported Install Hackintosh - add all versions with only one bootable device
  • Changed the Multiboot devices' partition order, Support GPT Disk for HDD Box
    (ESP1-ESP2-BIOS Boot Partition-MULTIBOOT-MacInstaller1-MacInstaller2-...)
  • Changed the configuration for the bootloader to suitable with the new partition table
  • Using wimboot to boot the .wim image from GPT disk in Legacy BIOS Mode
  • Fixed Grub2 & Syslinux cannot bootable on some machines (thanks to Hoàng Đức)
  • Added option for creating/uncreate the EFI partition for Secure Boot in UEFI mode
  • Fixed config for about 50 Distros Linux, support multi-version in a menu
    (thanks to SmartFinn)
  • Added colortool to improve user experience in the installer interface
  • Added grub2-filemanager as an extra module (thanks to A1ive)
  • Fixed boot menu for DLC 2019, easy to use together with Strelec, HKboot, Anhdv...
  • Optimized source code for the batch script
  • And, a newly released version with many bugs @@

Changelog Multiboot Toolkit 2.2.0: (28-05-2017)
  • Updated the AOMEI Partition Assistant (thanks to Hoàng Khiển, Krishna)
  • Changed partition method, increase read and write speeds for Multiboot device
  • Updated partition tools configuration for Grub2 (updated by Tayfun Akkoyun)
  • Allowed install on the Virtual Disk, support to test quickly a Multiboot device
  • Fixed Grub2 cannot be bootable in UEFI mode on the External Portable Hard Drives
  • Fixed DLC Boot cannot be bootable from Grub2 menu in Legacy mode on the
    External Portable Hard Drives (thanks to steve6375 from reboot.pro forum)
  • Supported Grub2 Menu with multi-language (Vietnam, English, Turkish languages)
    (Changed the script structure for easy translation into other languages)
  • Updated Windows Setup from Source module with both WIM and ISO method
    (updated by Tayfun Akkoyun)
  • Added timeout between the partition commands. It makes the installation slower
    but it makes the Multiboot Installer works well in the system has low performance
  • Fixed missing disk and partition number variables in Windows 7, it is the cause of
    can not run script install file in the hidden partitions

Changelog Multiboot Toolkit 2.1.3: (03-05-2017)
  • Fixed bug scripts in the previous version, fixed bug for Windows 7
  • Added EasyUEFI Portable to edit UEFI boot entries for MultiOS
  • Supported script to change default bootloader/boot manager for UEFI mode
  • Updated new WinPE modules (thanks to Hoàng Khiển, anhdv, dinhphucIT)
  • Fixed boot Grub2, WinPE Boot Manager for UEFI 32bit (thanks to Ahmet Bulut)
  • Added WinPE Boot Manager & WinSetupFromUSB to Grub2 Menu in UEFI mode
  • Swapped files between ESP1 and ESP2 for compatibility with secure boot
    in some machine does not allow to choose boot option

Changelog Multiboot Toolkit 2.1.2: (28-04-2017)
  • Add Grub2 File Manager (thanks to karadurak, Tayfun Akkoyun)
  • Update Grub2 Bootloader 2.02 (thanks to Tayfun Akkoyun, Hà Sơn)
  • Convert more themes from Clover bootloader for rEFInd boot manager
  • Add script support to create config.plist for Clover (Hackintosh)
  • Fix script was not able to run in directory contain Unicode symbols or Whitespace
  • Support secure boot with original Microsoft UEFI boot files, only support for WIM format
    (Thanks to köylü, Tayfun Akkoyun from TNCTR forum)

Changelog Multiboot Toolkit 2.1.1: (29-03-2017)
  • Support Turkish Language (translate by tayfun akkoyun)
  • Improve Grub2 Config, more powerful with auto scan menu (thanks to aguslr)
    (fix boot for Wifislax64 or some particular ISO unbootable on a real machine)
  • Add NT6 method as a other option to install Windows (thanks to tayfun akkoyun)
  • Update WinSetup.ISO.Module, better than WIM method (update by tayfun akkoyun)
  • Add more options for XorBoot Boot Manager (UEFI mode)
  • Fix AOMEI Partition Assistant Warning in Windows XP, 7

Changelog Multiboot Toolkit 2.1.0:  (19-03-2017)
  • Improve modules script to prevent lost name file while running again
  • Improve multiboot_update script to auto update config for grub2
  • Add boot live ISO Wifislax64 (Grub2 UEFI/Legacy)
  • Fix multiboot_update script to keep the current grub2's theme setting
  • Loopback original config for some Linux distributions (need testing)
  • Fix missing Grub4dos config while installing WinSetupFromUSB (thanks to tayfun akkoyun)
  • Add many useful ISO tool on Grub4dos menu (thanks to tayfun akkoyun)
  • Make Grub4dos more powerful with auto menu (thanks to tayfun akkoyun and karadurak)
  • Add Wim method as an alternative to WinSetupFromUSB, saving more space
    (thanks to tayfun akkoyun, his friend Aşkın ÖZTAV and oguzhan43 from TNCTR)
  • Add ISO method as the other option to install Windows from original ISO
    (not support for modified ISO versions like Windows AIO - thanks to tayfun akkoyun)
  • Fix boot live ISO for Manjaro Linux 17 (Thanks to kainonergon)
  • Fix and Update the modules link

Changelog Multiboot Toolkit 2.0.1:  (28-02-2017)
  • Fix Windows format warning for USB (use bootice v1.3.3 instead bootice v1.3.4)
  • Add DLC boot menu from Grub2, fix WinPE Strelec menu in UEFI mode
  • Use Windows built-in chkdsk utility to check the partition before preparing
    the partition for HDD box. This method will help the data safety more
  • Update Grub2 bootloader 2.02 rc1 (thanks to Hà Sơn)
  • Fix config for Clover bootloader to auto scan entries like rEFInd
  • Add new module boot live ISO: AiO-SRT (thanks to kiet2507)

Changelog Multiboot Toolkit 2.0.0:  (27-01-2017)
  • Fix to miss Grub4dos configuration files when installing Grub2 with new method
  • Set Grub2 is the default legacy bootloader
  • Support some special ISO run only with FAT32 format on the hide partition
    (Bitdefender; Fedora; Network Security Toolkit...)
  • Support script auto add some special ISO in the hide partition
  • Fix and add much more the Grub2 themes
  • Improved the script to keep the original name when adding modules to boot live ISO
  • Support script to manually update the rEFInd boot manager and the Clover bootloader
  • Build new script to install rEFInd/Clover to Internal Hard Drives, support for MultiOS
  • Support edit mini Windows boot manager and WinSetup boot manager with bootice
  • Support script auto add ISO extracted to multiboot drive
  • Support script auto install portable software to multiboot drive

Changelog MultibootUSB 1.0.6:  (31-12-2016)
  • Fix Grub2 booting error in some devices without using CleanMBR
  • Add the another method to install/reinstall GRUB2 from Legacy mode
  • Support script change easily the Grub2 theme
  • Fix warning driver letter B:\ when installing to USB Flash Driver
  • Fix Shutdown error in some devices

Changelog MultibootUSB 1.0.5:  (31-10-2016)
  • Build new installer to install MultibootUSB for External Portable Hard Drives (HDD box) with 1 click (create boot without data loss - very safe for your data)
  • Add WinPE Sergei Strelec like a module (UEFI/Legacy)
  • Update Grub2, Clover bootloader
  • Fix boot error when booting to Syslinux bootloader
  • Fix boot AndroidOS, PhoenixOS, CubLinux
  • Add password recovery tool for web browsers and wifi
  • Build new script for update MultibootUSB manually
  • Add boot live ISO Caine OS (Grub2 UEFI/Legacy mode)

Changelog MultibootUSB 1.0.4:  (02-09-2016)
  • Set NTFS is a main boot partition
  • Use NTFS Drive Protection to protect USB 
  • Add WinSetupFromUSB for UEFI 32bit
  • Update Clover, rEFInd Boot Manager
  • Set rEFInd is the default boot manager for UEFI mode
  • Auto partition with simple script (thanks to AOMEI)
  • Build new instaler to install MultibootUSB for USB Flash Drive with 1 click
  • Fix boot live ISO for Parrot OS, Fix some bugs for script
  • Optimize the boot menu
  • Add new Mini Windows module (thanks to Hoàng Khiển)
  • Add boot live ISO Apricity OS (Grub2 UEFI/Legacy mode)
  • Remove Clover legacy (not support for NTFS)

Changelog MultibootUSB 1.0.3:  (15-08-2016)
  • Add boot live ISO Cyborg Essentials (Grub2 UEFI/Legacy)
  • Add boot live Cyborg Hawk (Grub2 UEFI/Legacy - extracted)
  • Add boot live LionSec Linux (Grub2 UEFI/Legacy - extracted)
  • Add boot live Cyborg Hawk (Grub2 UEFI/Legacy - extracted)
  • Add boot live Weakerthan 7 (Grub2 UEFI/Legacy - extracted)
  • Add boot live ISO Wifislax (Grub2 UEFI/Legacy) + Persistent just support with extracted method
  • Add boot live ISO Network Security Toolkit (NST 24) (Grub2 UEFI/Legacy)
  • Add boot live ISO BlackArch Linux on the second partition (NTFS) (Grub2 UEFI/Legacy)
  • Add boot live ISO Solus Linux (Grub2 UEFI/Legacy)
  • Add boot live ISO Antergos Linux (Grub2 UEFI/Legacy)
  • Add boot live ISO BBQLinux (Grub2 UEFI/Legacy)
  • Add boot live ISO Arch Strike Linux (x86_64) (Grub2 UEFI/Legacy)
  • Fix boot live ISO Fedora, Manjaro -- (thank Steave' E2B & hanhtrung92)
  • Fix boot Remix OS (new beta)
  • Fix bug & update MultibootUSB_HDD_Installer_(160812)
  • Add Simple Script auto add module (*.iso / *.wim / *.exe)
  • Add YUMI boot like a module Legacy & simple script to fix boot with Syslinux/Grub2
  • Add DLC boot like a module both UEFI & Legacy mode
  • Add WinSetupFromUSB to install multi windows-setup like a module for UEFI/Legacy mode
  • Update Clover bootloader, add more icon (Kali, Parrot, Remix), add more config.plist
  • Add Minitool Partition Wizard portable for MultibootUSB_HDD_Installer to partition and format manually
  • Try to boot Syslinux from UEFI mode (failure)

Changelog MultibootUSB 1.0.2:  (18-06-2016)
  • Hỗ trợ thêm Boot-Repair-Disk (Grub2 UEFI - Legacy chưa test)
  • Fix boot cho Kaspersky Rescue Disk 10 (Grub2 UEFI/Legacy + Syslinux/grub4dos legacy)
  • Fix boot cho AVG Rescue CD (Syslinux)
  • Fix boot WEAKERTHAN Linux 7 (Syslinux)
  • Thêm menu boot Wifislax + Persistent (syslinux)
  • Thêm menu cho Matriux Leandros (chỉ syslinux + không tích hợp cùng WEAKERTHAN Linux)
  • Thêm boot cho Deft linux (Grub2 UEFI/Legacy)
  • Thêm boot cho CAINE Linux (Syslinux + Grub2 UEFI/Legacy)
  • Thêm boot cho NodeZero Linux (Syslinux + grub2 Legacy)
  • Thêm boot cho Bugtraq-II blackwidow (Syslinux) -- (thank YUMI boot)
  • Thêm boot cho Network Security Toolkit (NST 22) (Syslinux)
  • Thêm Xiaopan OS (Syslinux)
  • Thêm boot Dr.Web LiveDisk  (Syslinux) -- (thank YUMI boot)
  • Thêm boot Eset rescue (Syslinux + Grub2 Legacy) -- (thank YUMI boot)
  • Thêm boot Comodo rescue (Syslinux)
  • Hỗ trợ boot live ISO PCLinuxOS (Grub2 UEFI/Legacy)
  • Hỗ trợ boot live ISO LXLE linux (Grub2 UEFI/Legacy)
  • Hỗ trợ boot live ISO Linux Lite (Grub2 UEFI/Legacy)
  • Hỗ trợ script chống phân mảnh tự động cho ISO -- (thank Steve' E2B)
  • Hỗ trợ boot qua syslinux từ menu grub2 và grub4dos -- (thank Steve' E2B)
  • Cập nhật bootloader (Grub2, Grub4dos, Clover)
  • Thêm menu cho Win8/8.1/10 PE/SE vào Xorboot Menu cho UEFI 32bit
  • Cập nhật MultibootUSB_HDD_installer_(160618).exe
  • Bổ sung các hướng dẫn trong file readme


Wednesday, August 12, 2015

[Guide] Tạo USB và cài đặt Kali Linux trên UEFI chạy multiboot với các OS khác


Dành cho các bạn muốn theo đuổi con đường bảo mật chân chính, một phần chia sẻ của chuyên gia bảo mật Mr. Ghaznavi-Zadeh hi vọng các bạn sẽ có được cái nhìn tổng quan và một thái độ đúng đắn khi bước vào ngành đặc thù này. Cám ơn Mr. Noor đã chia sẻ.
Ethical Hacking and Stepshttps://www.vpnmentor.com/blog/kali-linux-a-guide-to-ethical-hacking/

Kali Linux 2.0 đã chính thức phát hành với tên gọi Kali Sana với một loạt cải tiến về giao diện đồ họa và tính năng mới. Là một hệ điều hành nổi tiếng dành cho các chuyên gia bảo mật, tester... Hiện tại bạn có thể lên trang chủ để download nó về. Bạn có thể tải các file ảnh của máy ảo VMware hay VirtualBox để sử dụng và trải nghiệm, máy ảo là khá tốt để cho bạn rèn luyện kỹ năng về bảo mật nhưng nó có một hạn chế là không thao tác thuận tiện được với các kết nối không dây (do bản thân máy ảo sử dụng mạng lan ảo với máy thật). Và một điều nữa nếu sử dụng máy ảo bạn sẽ không tận dụng hết được sức mạnh phần cứng của máy bạn khiến trải nghiệm dùng bị hạn chế rất nhiều.



Trong bài này mình sẽ hướng dẫn các bạn chi tiết cách cài đặt Kali Linux 2.0 multiboot trên chế độ UEFI sử dụng kiến trúc phân vùng GPT. Ở đây mình cài Kali Linux khi đã cài Windows và các OS khác trước rồi, nếu chưa biết cách cài Windows trên UEFI bạn tham khảo bài viết này: [Guide from UEFI-GPT Team] Cài Windows trên UEFI



Bước 1: Tạo USB cài đặt

Tải file ISO của Kali linux 64 bit về máy. Tải một trong các công cụ sau để tích hợp bộ cài đặt:
Cách tích hợp bộ cài từ file ISO vào USB bằng Rufus, các tool khác tương tự


Sau khi tạo USB thành công bạn đã có thể dùng USB này để chạy Kali Linux ở chế độ Live giống như các distro của Linux khác. Nếu bạn chỉ cần có vậy chắc bạn không cần phải đọc phần tiếp theo dưới đây, nhưng nếu muốn cài đặt trên máy để chạy multiboot với các OS khác thì mời bạn tiếp tục


Bước 2: Chuẩn bị phân vùng dành cho Kali Linux

Bất kỳ OS nào trước khi cài đặt ta đều cần phải chuẩn bị phân vùng riêng cho nó, các phân vùng cài OS bạn nên để chúng sát nhau tránh nằm lộn xộn với các phân vùng dữ liệu vì sẽ gây khó khăn cho bạn trong quá trình xác định phân vùng sau này. Ổ dữ liệu và các phân vùng chứa OS khác cần được đặt tên để không gây nhầm lẫn trong quá trình chọn phân vùng cài đặt


Phân vùng bạn muốn cài Kali cần delete nó để trở thành Unallocated (nghĩa là phân vùng chưa được chia)

Lưu ý: Chia phân vùng mình luôn khuyến cáo nên chia trong môi trường WinPE (hay Mini Windows). Lúc này tất cả các phân vùng trong máy sẽ được tool hiểu là các ổ dữ liệu vì vậy quá trình thao tác nhanh chóng và an toàn hơn




Bước 3: Sao lưu lại file trong phân vùng EFI

Bước này đối với những bạn đã có kinh nghiệm thì không cần thiết nhưng với newbie mình khuyên nên làm, lỡ sau này có vô tình làm mất boot của Windows hay bị lỗi gì đó liên quan đến boot thì có thể khắc phục nhanh chóng

Chạy Command Prompt (Admin) bằng cách click chuột phải vào góc dưới cùng bên tay trái của Desktop và chọn nó, giao diện cmd hiện ra bạn copy-paste-enter từng lệnh sau:

Code Miêu tả
Diskpart Khởi chạy tiện ích Diskpart
List Disk Khởi tạo danh sách ổ cứng trên máy bạn
Select Disk 0 Chọn ổ cứng (thông thường máy chỉ có 1 ổ thì oánh số 0)
List Partition Khởi tạo danh sách phân vùng trên ổ cứng
Select partition 1 Chọn phân vùng EFI (thường nằm đầu tiên nên chọn số 1)
Assign letter=Z Đặt tên cho phân vùng EFI
Exit Thoát Diskpart
Taskkill /im explorer.exe /f Tắt Explorer
Explorer.exe Khởi động lại Explorer


Truy cập vào ổ Z vừa mới được tạo trong Explorer, copy folder "EFI" sang một phân vùng nào khác hoặc có thể nén nó và lưu trữ lại


Bước 4: Boot vào USB ở chế độ UEFI, kích hoạt giao diện cài đặt đồ họa

Sau khi tích hợp USB cài Kali linux xong, khởi động lại máy. Ngay khi máy vừa bật lại bấm liên tục F12 (đối với Dell) để vào Boot Option --- đối với ASUS là Esc ... các dòng máy khác bạn tự tìm hiểu cách boot vào chế độ này



Chọn boot vào Graphical Install



Bước 5: Cài đặt Kali Linux

Chọn theo hình và nhấn continue để chuyển sang thiết đặt tiếp theo, giải thích 1 vài chi tiết nhỏ:
  • Từ hình 1 đến 7 không có gì đặc biệt, bạn cứ nhấn continue mà không phải thiết đặt gì. Chú ý tại hình 4 bạn chọn No và nhấn continue (có thể thao tác này phải lặp lại 2 lần)
  • Hình 8 tạo mật khẩu của root để quản trị
  • Hình 10 chọn manual để tạo phân vùng bằng tay, không chọn các lựa chọn khác
  • Hình 11 chọn vào phân vùng unallocated đã được chuẩn bị trước cho Kali linux
  • Từ hình 12 đến hình 15 chọn như hình và bấm continue, quá trình cài đặt bắt đầu (hình 16)
    • Chú ý: tại hình 12 khi chọn automatic... nó sẽ tự động tạo phân vùng tối ưu cho máy bạn. Nếu trước đó máy đã có linux và có phân vùng Swap thì tại bước này nó không tạo thêm phân vùng Swap nữa mà dùng chung với phân vùng Swap của phiên bản Linux khác trên máy bạn (Khi multiboot các distro khác nhau của Linux sử dụng chung phân vùng Swap)
  • Hình 17 bạn có thể chọn yes, qua vài bước nữa chọn Wifi của bạn và kết nối internet để hệ thống cập nhật. ở đây mình chọn No để quá trình cài cho nhanh, việc update sau khi vào Kali có thể thực hiện sau. Nhưng nếu muốn kali chạy ổn định bạn nên update hệ thống từ bước này
  • Hình 18 quá trình cài đã thành công, máy tính sẽ tự khởi động lại và boot vào Grub2 của Kali Linux, lúc này trên đó sẽ xuất hiện thêm lựa chọn boot vào Windows



Bước 6: đăng nhập vào Kali Linux

Khi khởi động vào Kali Linux phần User Name bạn gõ tên là root phần password chính là mật khẩu mà bạn đặt tại hình số 8. Ok, hãy bắt đầu trải nghiệm nó




Lời kết

Thực ra đối với nhiều người Kali Linux không nhất thiết phải cài trên máy, bạn vẫn có thể sử dụng nó ngay trên USB để cơ động hơn. Nhưng đối với mình thì mình vẫn thích cài nó. Hi vọng bài viết này có ích cho các bạn :)


Blog được tạo ra chỉ với mục đích chia sẻ kinh nghiệm. Không thu phí bạn đọc dưới bất kỳ hình thức nào. Chúc các bạn thành công!
Join Our Newsletter