niemtin007

facebook.com/niemtin007

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

Friday, February 3, 2017

Batch script - kỹ năng cơ bản nhất dành cho người lười muốn trở thành hacker



Chào các bạn tớ là 007, tớ muốn làm hacker, tớ ứ dùng Windows, Linux muôn năm. Nghiêm túc chứ? Nếu xét về thị phần OS cho người dùng cá nhân thì Windows luôn đứng đầu. Windows là tốt nhất ư? không... Vậy nó mạnh mẽ nhất ư? cũng không... Đơn giản nó quen và dễ dùng hơn các OS khác thôi. Trong cuộc sống hay dù là gì thì mọi thứ vẫn sẽ tìm con đường đơn giản nhất để đi trước. Tớ tin rằng hệ điều hành bạn tiếp xúc đầu tiên và sử dụng thường xuyên vẫn là Windows, phải không bạn ;)

Đối với bất kỳ hacker nào cơ sở của họ vẫn là những dòng lệnh. Người dùng hiện nay quá quen với những GUI giao diện đồ họa bắt mắt khiến họ ngày càng lười biếng hơn. Nếu muốn làm hacker một cách nghiêm túc, bạn hãy làm quen với giao diện dòng lệnh (CLI - Command Line Interface)






Batch script có khó không?

Không khó đâu bạn, chỉ vài dòng cơ bản bạn đã có thể tạo được một chương trình. Nó có thể làm được gì ư? Virus? Nghiêm túc đấy thời kỳ đầu nó được tạo ra đơn giản bằng cách này thôi. Qua thời gian ngày càng tinh vi hơn thì nó được thể hiện bằng nhiều ngôn ngữ khác nhau. Hầu hết virus được tạo ra với mục đích xấu nhưng cũng không ít virus được tạo ra nhằm giúp giải quyết nhiều công việc phức tạp mà bản thân quyền hạn của một số chương trình chưa làm được.

Batch script có chứa những dòng lệnh đơn giản nhưng mạnh mẽ, nếu kết hợp khéo léo những script với nhau vào một file thực thi có đuôi mở rộng là .cmd hay .bat (batch file) bạn có thể tạo nên một chương trình giúp ta làm được nhiều việc thú vị.


Cách viết một batch file

Bạn vẫn có thể tạo một chương trình bằng cách gõ từng lệnh lên command prompt rồi enter, nhưng chẳng ai rảnh làm như vậy cả, viết vào file thực thi rồi chạy file đó hay hơn. Vậy cần phải chuẩn bị công cụ nào hỗ trợ không? Không nhất thiết nhé, bản thân Windows đã có đủ những công cụ cần cho bạn, việc của bạn là bắt tay vào làm thôi. Bạn có thể viết qua trình Notepad mặc định của Windows, nhưng nếu muốn code dễ nhìn hơn bạn có thể sử dụng Notepad++ (riêng mình thì thích sử dụng Notepad Mod hơn)

1. Một chương trình đơn giản

code:
@echo off
title %~nx0
color 0e
mode con lines=18 cols=70
echo.
echo Hello World!
pause
exit

Ý nghĩa:

Kết quả:



Lưu ý: Nếu bạn không muốn hiện dòng "Press any key to continue . . ." bạn sửa lệnh pause thành pause >nul lúc này chỉ có dấu nhắc thay vì hiện dòng chữ như trên. Lệnh >nul bạn cũng có thể đặt phía sau các lệnh copy, rename, hay delete để ẩn thông báo, giúp giao diện dòng lệnh được gọn gàng hơn.



2. Đặt biến, nhập dữ liệu đầu vào

Trong một chương trình có những đại lượng thay đổi liên tục và được sử dụng trong các câu lệnh tiếp theo, để hạn chế thao tác, giúp ta tự động hóa nhiều quá trình liên tục batch script hỗ trợ đặt biến
set name= x (với x là số hoặc chuỗi)
set /a name= x (với x là số)

@echo off
set /a count= 1
set /a count= %count% + 5
echo the answer is %count%
pause>nul



Để nhập dữ liệu đầu vào: số, chuỗi... ta sử dụng câu lệnh set /p name= "chuỗi gợi ý nhập dữ liệu"

@echo off
set /p input= input your name ^> 
echo Your name is %input%
pause>nul




3. Câu điều kiện

Chắc chắn một điều khi bạn bắt đầu xây dựng những chương trình lớn hơn sẽ có nhiều trường hợp xảy ra mà chương trình phải chạy những đoạn script cho phù hợp. Để giải quyết vấn đề đó batch script hỗ trợ câu điều kiện nếu ... thì hoặc nếu không ... thì

@echo off
set /p input= input your name ^> 
if %input% == niemtin007 echo He is my boss
if not %input% == niemtin007 echo I don't know him
pause>nul

Cách thể hiện khác
@echo off
set /p input= input your name ^> 
if %input% == niemtin007 (echo He is my boss
) else (echo I don't know him)
pause>nul





4. Định nghĩa bước nhảy cho từng cụm script

Một chương trình chính là tập hợp của nhiều đoạn script có chức năng khác nhau mà nên. Nhưng cách thức hoạt động của một batch file là chạy từng dòng lệnh từ trên xuống. Vậy nếu tôi muốn thực hiện cụm script chức năng thứ hai hay thứ n trước thì phải làm sao? Đơn giản thôi nhé, batch script hỗ trợ đặt nhãn (:name) và lệnh nhảy cóc (goto :name)

:loop
echo Hello World!
goto :loop

Chúc mừng, bạn đã biết cách tạo một vòng lặp rồi đấy. Chức năng của đoạn script trên sẽ giúp in trên màn hình chuỗi Hello World! vô hạn, chỉ có thể dừng lại khi bạn tắt cửa sổ command prompt

Nếu ta kết hợp câu điều kiện với nhãn và lệnh nhảy cóc ta có thể tạo ra một menu cho chương trình

@echo off
echo --------------------------------
echo [ 1 ] Option 1    [ 2 ] Option 2
echo --------------------------------
set /p option= Input your option [ ? ] ^> 
if %option% == 1 goto :option1
if %option% == 2 goto :option2
echo Invalid Input & color 4f & pause>nul & exist

:option1
echo your option is %option%
pause>nul

:option2
echo your option is %option%
pause>nul





5. Tạo một file text có đuôi mở rộng bất kỳ

Trong khi lập trình, đôi lúc bạn cần phải xuất một vài giá trị ra một file cụ thể nào đó, file này có thể là một file trung gian để là đầu vào dữ liệu cho đoạn script khác khi biến dữ liệu thay đổi liên tục. Đôi lúc file này là một file cấu hình bạn muốn tạo ra để cung cấp cho một chương trình khác sử dụng. Đôi lúc nó chỉ là một file nhật ký thông thường ghi chú lại những dấu vết mà chương trình vừa hoạt động.

Batch script hỗ trợ tạo file với cú pháp như thế này:
>"đường dẫn file muốn tạo"  (
echo nội dung
)

File author.txt có nội dung là niemtin007 sẽ được tạo ra cùng thư mục với batch file có nội dung dưới
>"%~dp0\author.txt" (
echo niemtin007
)

File author.txt có nội dung là niemtin007 sẽ được tạo ra tại ổ C:\ với batch file có nội dung dưới
>"C:\author.txt" (
echo niemtin007
)



6. Đọc và lấy dữ liệu từ một file text

Câu lệnh dưới đây sẽ giúp đọc file theo từng dòng và xuất ra giá trị của dòng cuối cùng mà nó đọc được

@echo off
for /f "tokens=*" %%b in (C:\author.txt) do set name=%%b
echo the author is %name%
pause>nul



Lệnh for ... in ... do rất hữu ích và nó cũng có rất nhiều biến thể, dưới đây là một đoạn script giúp tớ xác định disk number từ giá trị disk letter khi cắm USB hay ổ cứng di động vào, phục vụ cho một chương trình nhỏ giúp cài đặt công cụ multiboot toolkit lên USB/HDD

for /f "tokens=2 delims= " %%b in (
'WMIC Path Win32_LogicalDiskToPartition Get Antecedent^, Dependent ^| find "E:"'
) do set disk=%%b
set /a disk=%disk:~1,1%

Ta cùng phân tích nhé:
Trước tiên tớ dùng WMIC (Windows Management Instrumentation Command-line) tức là công cụ quản lý Windows dưới giao diện dòng lệnh

WMIC Path Win32_LogicalDiskToPartition Get Antecedent, Dependent


Có gì đó sai sai... Tại sao trên batch file trước dấu , hay | hay > lại có ký tự
Đơn giản chúng nó là các ký tự đặc biệt, khi viết thành batch file để khi chạy thông qua command promt mà nó hiểu được thì cần thêm ký tự ^ Còn khi chạy trực tiếp trên command promt ta không cần thêm ký tự đó

WMIC Path Win32_LogicalDiskToPartition Get Antecedent, Dependent | find "E:"


Nếu xem giá trị được in ra trên màn hình là một bảng thì giá trị tokens=2 của đoạn script chính là cột thứ 2. Nhưng tôi đâu thấy có cái cột nào đâu? Hãy để ý nhé, giá trị delims= " trước dấu hai phẩy có một khoảng trắng đúng không nào ^^ vậy đấy, khoảng trắng chính là cái phân cách một chuỗi dài thành nhiều cột. Ở trên đây ta thấy có tất thảy 4 cột đúng không nào, giá trị cột thứ 2 tớ cần chính là #0, các câu lệnh phía dưới chỉ là hỗ trợ để trừ chuỗi và lấy ra giá trị cần tìm của tớ là số 0 Vậy ổ E:\ mà tớ cần tìm nằm ở disk 0. Nếu ta thử thay khoảng trắng bằng dấu , trong giá trị delims=," thì sao? Lúc này ta chỉ có 2 cột:
cột 1 là\\NIEMTIN007\root\cimv2:Win32_DiskPartition.DeviceID="Disk #0
cột 2 là:  Partition #6"  \\NIEMTIN007\root\cimv2:Win32_LogicalDisk.DeviceID="E:"

Bằng cách trừ chuỗi ta cũng có thể tìm ra giá trị cần để gán vào một biến cụ thể phải không nào ^^ Thế đấy, ngôn ngữ cũng chỉ là công cụ, cái chính là hãy để cho trí tưởng tượng của bạn bay cao bay xa, và nhớ rằng trí tưởng tượng không có giới hạn hãy để nó tự do bay nhảy, tớ tin rằng bạn sẽ tạo nên nhiều chương trình thú vị và hãy chia sẻ nó cho cộng đồng ^^



7. Tận dụng chế độ dòng lệnh của những tool có sẵn để xây dựng một thứ gì đó lớn hơn

Để phát triển nhân loại luôn sử dụng những thành tựu đã có trong quá khứ và tiếp tục phát huy. Chẳng ai lại đi phát minh lại chiếc bánh xe cả, trong lập trình cũng thế. Không phải tự nhiên lại tồn tại một cộng đồng mang tên là "cộng đồng mã nguồn mở" mà cũng chẳng phải tự nhiên mà nhiều công cụ lại có hỗ trợ chế độ dòng lệnh.

Ở dưới đây là một đoạn code giúp tự động repartion cho USB để làm sạch bảng phân vùng của USB trước khi tạo boot cho nó mà mình ứng dụng thông qua công cụ bootice

%~dp0bootice.exe /DEVICE=%disk% /partitions /repartition /usb-hdd /fstype=fat32 /quiet

Bạn có thắc mắc là vì sao tớ biết được dòng lệnh này không? Ở phần help đó bạn, ở một số tool không có GUI giao diện bạn chỉ cần mở Command Prompt từ folder chứa file .exe của tool đó và gõ tên file cùng với lệnh --help. Bạn sẽ nhận được sự giúp đỡ




8. Trang web hữu ích để tìm hiểu các lệnh của batch script

Nếu thắc mắc, hãy hỏi anh google qua nhiều từ khóa khác nhau nhưng vì ổng rất khó tính nên bạn hãy đưa ra yêu cầu cụ thể bằng cách gõ đúng từ khóa nhé, ổng ấy sẽ ưu tiên các từ khóa bằng Tiếng Anh hơn ^^ 
Nếu bạn biết cách hỏi sẽ có được câu trả lời, luôn có sự giúp đỡ dành cho những ai xứng đáng

Nếu không biết dùng các lệnh của batch script như thế nào các bạn có thể ghé qua trang
Còn nếu cần một ví dụ về một chương trình được viết bằng batch file thì bạn có thể tải bộ công cụ Multiboot Toolkit của mình và soi code trong đó, nếu bạn hiểu được ý nghĩa của các script thì mình tin rằng lúc đó bạn đã khá vững về batch script rồi đấy ^^



Thế đọc xong bài này tớ đã biết hết về batch script chưa? Chắc làm hacker được rồi nhỉ

Uhm, thành thật mà nói thì chưa đâu, đây chỉ là một kỹ năng, một kỹ năng hết sức cơ bản. Phía trên tớ chỉ giới thiệu cho bạn những cái cơ bản nhất mà bạn có thể xây dựng một chương trình nhằm giúp bạn tự động hóa một số công việc.  

Đừng vội buồn. Tớ và các bạn có thể được gọi với một cái tên khác Advanced User - cũng đáng tự hào lắm chứ bộ :D

Ngôn ngữ cũng chỉ là một công cụ, bạn có thể không cần phải biết hết mọi thứ về batch script, chỉ cần hiểu cách thức hoạt động của CLI là bạn cũng đã thành công rồi. Nếu có hứng thú với Python, hãy cho tớ biết, có thể một ngày buồn buồn nào đó tớ lại ngồi tự kỷ viết bài chơi. Hẹn gặp lại các bạn vào những bài viết sau ;) Chúc các bạn thành công ^^





Saturday, January 14, 2017

[Guide] Làm gì khi đứt cáp và bị chặn facebook - có nên dùng VPN?




Trong thời buổi thông tin hiện nay internet có vai trò không hề nhỏ. Đôi lúc vì những sự cố kỹ thuật từ vi mô đến vĩ mô mà khiến người dùng lao đao, điển hình như bài ca đứt cáp quang kéo dài từ năm ngoái đến nay hay vấn đề chặn facebook liên quan đến vấn đề chính trị nhạy cảm khiến trải nghiệm internet trở nên khá khó chịu. Bài viết hôm nay mình xin chia sẻ một kinh nghiệm nhỏ trong quá trình sử dụng máy tính để giải quyết sự phiền toái này





Những vấn đề có thể được giải quyết sau khi làm theo guide này:
  • Không gặp lỗi "Can not load ... error ... playlist HTTP status 404 ..." khi xem phim trên web
  • Truy cập được các trang nước ngoài nếu như bị chặn kết nối như facebook, youtube, ... 
  • Không bị xác nhận khi vào một trang cụ thể
  • Cải thiện tốc độ load web site ra các host nước ngoài, ping thấp khi đường truyền ra quốc tế bị giới hạn do dứt cáp quang
  • Tăng bảo mật thông tin khi sử dụng các dịch vụ ngân hàng online
  • Ẩn danh tính khi truy cập internet
  • Và có thể truy cập được vào một số trang mà ai cũng biết là gì đó... ahihi

Đồ chơi cần có:



1. VPN là cái ... gì vậy?

Mình sẽ không đề cập quá sâu đến thuật ngữ kỹ thuật ở đây. Bạn chỉ cần hiểu, khi sử dụng VPN thông tin được gửi từ hệ thống internet về máy tính bạn được mã hóa, IP của máy tính bạn sẽ được ẩn đi. Bạn sẽ được ẩn danh về vị trí địa lý, về những nội dung truy cập internet; không bị kiểm soát bởi tường lửa của cơ quan chính phủ. Có thể thoát khỏi vài kiểu tấn công mạng. Xét về một khía cạnh nào đó, vấn đề bảo mật của bạn sẽ được tăng cường hơn


2. Sử dụng VPN

Hiện nay có khá nhiều dịch vụ cung cấp VPN giá rẻ, tùy vào hầu bao của bạn chịu chi bao nhiêu thì băng thông cũng như tốc độ kết nối tăng lên bấy nhiêu. Ở bài viết này mình không sử dụng dịch vụ có phí mà xin giới thiệu cho các bạn một cách miễn phí để sử dụng VPN (tất nhiên cái giá của sự miễn phí là bạn cần phải tốn một chút công sức nhỏ)



Đầu tiên bạn tiến hành cài đặt OpenVPN bình thường như bao phần mềm khác. Sau khi cài đặt, bạn vào trang VPN Gate để lấy Config file. Ở đây lưu ý, vì bạn đang ở Việt Nam nên chọn các server đặt tại Việt Nam để hạn chế độ trễ kết nối. Nên chọn các quốc gia gần mình nhất để đạt được tốc độ kết nối tốt nhất, ngoài ra hãy để ý đến băng thông VPN do các tình nguyện viên cung cấp




Bạn truy cập vào đường dẫn C:\Program Files\OpenVPN\config hoặc %HOMEPATH%\OpenVPN\config ném các config vừa tải về được vào thư mục này (có thể pin thư mục này ra start menu để truy cập nhanh lúc cần)



Ok, giờ ta bật phần mềm OpenVPN lên sau đó chuột phải vào biểu tượng icon hình cái máy tính và ổ khóa cạnh đồng hồ rồi chọn connect và xài thôi ^_^


3. Lưu ý khi sử dụng OpenVPN

Lý do mình không khuyên các bạn sử dụng tool được cung cấp bởi chính trang web vpngate.net vì các config được upload tự động rất nhanh ngỏm do lượng người dùng khá nhiều, thay vào đó ta sử dụng OpenVPN rồi lên trang này lấy config thời gian tồn tại của kết nối VPN sẽ lâu hơn, ổn định hơn

Hầu hết các phần mềm VPN có phí đều sử dụng các server đặt ở nước ngoài nên độ trễ khá cao, khi sử dụng các VPN có server ở Việt Nam tốc độ sẽ tốt hơn. Ngoài ra bạn nên sử dụng các config file từ Japan, Korea Republic of hay United States sẽ đạt được kết nối ổn định và tốt nhất

Lưu ý quá trình kết nối vào VPN khá nhanh chóng ngay khi bạn nhấn nút connect, nếu biểu tượng icon chưa chuyển sang màu xanh trong vòng 10s thì thay đổi config khác, có thể config đang dùng đã hết băng thông hoặc người truy cập đã đạt ngưỡng

Nếu truy cập trang web từ một địa chỉ IP nhất định đôi lúc sẽ rất khó tìm được một config file tốt. Một thủ thuật mà mình hay sử dụng là fake sang các IP khác nhau khi tìm kiếm config mới ;)

Chúc các bạn sử dụng internet hiệu quả!



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ế!




Sorry, Because I used the batch script, its very limited support for Unicode in CMD shell. So, in the next versions, I only support for installation progress with the English language.
In the future, to make the Multiboot Toolkit more compatible, I am forced to use another programming language such as Python. I am not a programmer; I am just a material engineer. I know many ones love this project and want it perfectly, me too. But I need time; I can't spend all time in a day to build it. I have to work and live. Thanks and Regards.




Changelog Multiboot Toolkit 2.2.1: (work-in-progress)
  • 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 mode
  • Fixed Grub2 & Syslinux cannot bootable in some machine (thanks to Hoàng Đức)
  • Added option for creating/uncreate the EFI partition for Secure Boot in UEFI mode
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

  • Type: open-source project
  • Platform: Windows (XP or highter 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ó!



Giao diện boot (theme Grub2 mặc định breeze)


rEFInd boot manager - UEFI


Chế độ UEFI - Grub2


Clover boot manager - UEFI


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.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