Serdar Yegulalp
Bạn có muốn chạy Linux bất cứ lúc nào cũng như bất cứ nơi đâu? Trong bài này chúng tôi sẽ giới thiệu cho các bạn những gì có thể thực hiện đối với các phiên bản Linux phổ biến như Puppy Linux, Ubuntu và Fedora để có thể khởi chạy trực tiếp từ ổ USB.
Gần như Linux thường chạy bằng cách cài đặt trên ổ đĩa cứng hoặc trên một CD/DVD. Cách đầu tiên có ưu điểm nhanh nhưng không mang tính di động, cách thứ hai có thể chạy được tại bất cứ nơi đâu có máy tính và ổ CD, tuy nhiên cách này lại có nhược điểm không nhanh. Mặc dù vậy trong một số năm trở lại đây bắt đầu xuất hiện một số cách kết hợp được cả tốc độ của ổ đĩa cứng và sự thuận lợi của CD: chạy Linux từ một ổ USB flash.
Tuy bộ nhớ flash vẫn là bộ nhớ có giá thành khá cao, một ổ đĩa cứng 100GB flash có thể vượt ra ngoài khả năng chi trả của nhiều người nhưng với các ổ có dung lượng thấp hơn, ví dụ như 2GB hoặc 4GB thì giá thành cũng không phải là không thể cáng đáng được hoặc có thể nói là hầu như bất kỳ cũng có thể mua được. Chúng ta hãy xem có thể làm gì với các ổ USB loại này trong vấn đề được nêu ra trong bài.
Có thể không đủ dung lượng để mang theo toàn bộ bộ sưu tập nhạc MP3 và album ảnh lớn đi kèm nhưng bạn sẽ có thể chạy Linux với hầu hết các ứng dụng cần thiết, cũng như mang theo một số dữ liệu khác. Vấn đề nữa ở đây là gì, đó là có nhiều cách chạy Linux từ một ổ USB flash mà không cần khởi động lại hệ điều hành, đặc biệt nếu bạn đang chạy Windows.
Những chuẩn bị cần thiết
Để cài đặt bản Linux đã có trên một ổ USB và chạy nó, bạn cần có những thứ dưới đây:
1. Một bản Linux có hỗ trợ cài đặt vào chạy từ USB. Bạn có thể yên tâm một phần vì hầu như các phân phối gần đây đều cho phép thực hiện công việc này, mặc dù vậy các bước chính xác để thực hiện chạy có thể hơi khác nhau đôi chút. Một số bản phân phối mặc định đã có khả năng thực hiện các nhiệm vụ này.
2. Ổ USB flash, tất cả các ổ USB đều không được tạo như nhau nhưng vấn đề này sẽ được chúng ta thảo luận bên dưới.
3. Một máy tính có thể khởi động từ cổng USB. Đây là vấn đề khá hóc búa với một số bạn vì nó phụ thuộc vào máy tính – khá ít các máy tính gần đây mới hỗ trợ việc khởi động từ ổ USB.
Nếu bạn thiết lập một cài đặt Linux để chạy từ bên trong bản thân Windows thì không cần đến sự hỗ trợ khởi động của USB mà chỉ cần truy cập vào ổ đĩa cứng được cắm thông qua cổng USB. Lưu ý rằng một số máy tính trong nhiều môi trường – ví dụ, trong môi trường công ty chẳng hạn – có thể được quản lý để ngăn chặn người dùng sử dụng các thiết bị lưu trữ thông qua cổng USB.
Sử dụng bản phân phối Linux nào?
Bản phân phối mà bạn chọn phụ thuộc vào một số vấn đề: kích thước của ổ đĩa flash sử dụng là bao nhiêu, bản Linux nào bạn sử dụng quen và thân thiện với nó và các tính năng gì mà bạn muốn hỗ trợ.
Kích thước của ổ đĩa là một hệ số, nhưng đây quả thực không phải vấn đề đáng để bạn lo lắng vì có thể căn cứ vào ngân sách của bạn. Các ổ flash ngày nay giá thực sự không quá đắt, USB 1G hoàn toàn có thể đáp ứng được bản Linux của bạn.
Việc bạn cần quan tâm là một bản Linux được thiết kế có nhỏ và nhẹ hay không (chạy). Hai bản Linux khá tốt trong vấn đề này đó là DamnSmallLinux và Puppy Linux.
Bộ cài đặt của Puppy Linux có hỗ trợ mọi thứ từ các ổ USB để giao tiếp với flash card |
Nhìn chung, bạn sẽ phải cần đến một USB có dung lượng khoảng 2-4GB để thực hiện một cài đặt với toàn bộ các chức năng từ bộ cài. Trong trường hợp không có đủ không gian để cài đặt thì hệ thống sẽ cảnh báo cho bạn biết được điều đó. Nếu bạn có một bản cài với trữ lượng lớn thì đồng nghĩa với nó là sẽ có nhiều ứng dụng và nhiều tính năng được hỗ trợ hơn.
Chọn ổ đĩa Flash?
Dường như các ổ đĩa Flash đều giống nhau về hình thức bên ngoài, nhưng bạn cần lưu ý có nhiều vấn đề khác nhau giữa tốc độ của các ổ. Một ổ đĩa có tốc độ "100x" hoặc cao hơn sẽ làm việc khá tốt, và hầu hết các ổ đĩa có hỗ trợ cho tính năng ReadyBoost của Vista cũng có chất lượng như vậy.
Chỉ có một thứ mà hầu hết các nhà sản xuất không làm rõ là hiệu suất của ổ đĩa liên quan đến sự tuần tự hay ngẫu nhiên. Vấn đề cần xem xét là mỗi byte trên ổ đĩa có cùng thời gian truy cập như nhau không? Đôi khi nhà sản xuất sẽ trộn các tốc độ nhớ như một tham số tiết kiệm chi phí, sử dụng một khối nhớ nhỏ flash có tốc độ nhanh cùng với một khối lớn có tốc độ chậm. Điều này có nghĩa là những thay đổi lớn về mặt hiệu suất phụ thuộc vào những gì được thực hiện trong USB. Để xác định điều đó, bạn có thể thấy sự khác biệt lớn về mặc hiệu suất giữa hai ổ đều có đánh giá của các nhà sản xuất giống nhau hoặc gần giống nhau.
Một điều thú vị khác nữa cần lưu ý ở đây là các ổ flash không hẳn phải là các thiết bị có thể di động mà còn có thể là flash card hoặc camera số hay các thiết bị chơi nhạc cũng có thể làm việc. Thêm nữa, dù Linux hay máy tính của bạn có hỗ trợ khởi động và chạy từ một thiết bị như vậy thì điều này sẽ phụ thuộc vào cách thiết bị khai báo bản thân nó với máy tính như thế nào và bản Linux mà bạn sử dụng có driver được thiết lập để quản lý nó hay không.
Bộ cài "pen drive" của DamnSmallLinux |
Kích hoạt sự hỗ trợ khởi động từ USB
Hầu hết các máy tính được sản xuất những năm gần đây đều hỗ trợ khởi động từ thiết bị USB. Điều đó cũng nói nên rằng, tính năng này không phải lúc nào cũng được cho phép một cách mặc định, và không phải lúc nào cũng được kích hoạt cho tất cả các cổng USB trên hệ thống.
Một trong các điểm đầu tiên để tìm kiếm thông tin về sự hỗ trợ khởi động từ USB đó chính là BIOS hệ thống. Với máy tính Dell (một ví dụ cụ thể để các bạn có thể thấy), tùy chọn quản lý USB mặc định là cho phép khởi động từ các thiết bị USB đính kèm – nhưng cần phải nhấn F12 mỗi lần khởi động để chọn thay cho thiết lập mặc định về khởi động của hệ thống, thông thường là từ ổ đĩa cứng.
Một thứ quan trọng khác ở đây là một số cổng USB trong XPS có thể bị vô hiệu hóa. Điều này được thực hiện để bạn có thể gắn thêm các ổ USB ngoài (có thể là flash hoặc ổ cứng thực sự).
Những người hay truy cập vào Web site của PenDriveLinux – một tài nguyên thú vị cho tất cả mọi thứ để có thể chạy Linux trên USB – có một cách nhanh chóng để test sự hỗ trợ khởi động từ USB đối với USB và máy tính của bạn. Họ sử dụng tiện ích SysLinux để làm cho ổ đĩa có khả năng khởi động và add thêm một bản copy Memtest86+, một cách để xem xem hỗ trợ khởi động có làm việc hay không. Lưu ý rằng nếu bạn đang sử dụng chúng trên Vista thì hãy mở cửa sổ nhắc lệnh quản trị để chạy file makeboot.bat hoặc nó sẽ không làm việc.
SysLinux được sử dụng rộng rãi để làm cho các ổ đĩa flash có khả năng khởi động đối với các bản Linux, chính vì vậy nó cũng là một công cụ mà chúng tôi sẽ đề cập đến. Lưu ý rằng nếu bạn bắt gặp một lỗi khởi động "boot error" hoặc một thông báo lỗi khác khi thực hiện khởi động một ổ được thực hiện với SysLinux thì cần phải chạy lệnh DISKPART CLEAN trên đĩa (lại từ tiện ích dòng lệnh quản trị) để xóa các thông tin bản ghi khởi động chủ, định dạng lại ổ đĩa và thử lại một lần nữa.
Từ CD cài đặt đến ổ flash có thể khởi động
Hầu hết các bản Linux, như Ubuntu đều có khả năng cài đặt trực tiếp từ USB như thể nó là một ổ cứng, tuy nhiên một số bản Linux lại làm việc với các ổ USB như một trường hợp đặc biệt nào đó. DSL là một ví dụ, nó có một bộ cài đặc biệt để tạo cài đặt USB-drive cho hệ điều hành. Nó cũng có thể tự cài đặt trực tiếp vào một ổ USB thông qua tiện ích Universal Installer đi kèm. Mặc dù vậy, các tùy chọn mặc định không làm việc trong trường hợp này; chúng tôi đã phải sử dụng tùy chọn "SysLinux" trong menu cài đặt của nó để tạo khởi động cho USB.
Trong các trường hợp, ổ đĩa USB sẽ được gắn và được nhận ra như một thiết bị SCSI ảo, như /dev/sda or /dev/sdb. Nếu bạn đang thực hiện cài đặt trên hệ thống đã có ổ cứng thì cần phải quan tâm nhiều đến các thiết bị được liệt kê trong phần quản trị partition và phải bảo đảm rằng bạn đang cài đặt đúng thiết bị. Ngược lại bạn có thể vô tình xóa ổ đĩa cứng. Bạn cũng cần phải bảo đảm rằng bộ cài phải tạo được khả năng khởi động cho thiết bị mục tiêu và viết bản ghi khởi động chủ thích hợp vào đĩa, mặc dù hầu hết thời gian chúng đều được thực hiện một cách tự động.
Từ Live .ISO đến ổ Flash có khả năng khởi động
Nếu phiên bản Linux bạn đang xem xét có một phân phối live CD (hầu hết đều như vậy), thì nó cũng có thể gắn .ISO cho live CD đó trên ổ flash và chạy chương trình này từ đây. Ưu điểm của cách thực hiện này là nhanh và hầu hết các máy đều có thể khởi động từ một CD, cũng có thể khởi động từ ổ flash.
Ưu điểm của cách cài đặt này là một phân phối live CD không được bền theo mặc định. Bất cứ thay đổi nào đối với hệ thống sẽ bị mất trong lần khởi động tiếp theo, trừ khi bạn tạo dự phòng để lưu dữ liệu người dùng. Một số phân phối live cho phép điều này, nhưng không phải lúc nào cũng được bảo đảm. Nếu bạn muốn một bản live không để lại bất cứ một dấu vết gì –ví dụ đối với an toàn của việc duyệt hoặc khôi phục hệ thống – thì đây là lựa chọn hoàn hảo cho bạn.
Một số thành viên PenDriveLinux đã tạo các kịch bản để có thể tự động hóa quá trình cho một số bản phổ biến như Ubuntu 8.04 và PCLinuxOS. Mẹo của họ (một trong những cách khá thông minh) là sử dụng ứng dụng nén 7-Zip mã nguồn mở để duyệt .ISO và giải nén các file chính từ nó để cho phép SysLinux tạo một ổ đĩa có khả năng khởi động.
Các kỹ thuật cơ bản có thể được áp dụng đối với bất kỳ bản Linux nào chạy từ hệ thống file live ISOLINUX. Nếu bạn muốn tạo một ổ flash khởi động từ .ISO của phân phối live CD, hãy thực hiện theo các bước dưới đây:
1. Format ổ đĩa flash. Bạn có thể cần phải sử dụng DISKPART CLEAN như được mô tả trong phần trên . Vì khả năng tương thích, hãy sử dụng FAT hoặc FAT32 cho hệ thống file. (FAT ở đây dường như là lựa chọn tốt nhất).
2. Sử dụng 7-Zip hoặc công cụ đọc .ISO khác để mở nén toàn bộ nội dung bên trong của .ISO vào ổ flash. Bảo đảm rằng thư mục gốc của .ISO phải tương ứng với thư mục gốc của ổ flash; không bung nội dung vào các thư mục con trên ổ flash.
3. Sử dụng SYSLINUX -ma : (trong giao diện quản trị dòng lệnh nếu bạn sử dụng Vista) để ghi các file hệ thống, với là ký tự ổ đĩa đang hiện diện cho ổ flash. Nếu bạn chạy SysLinux từ một hệ điều hành nào đó không phải Windows thì các chuyển đổi -ma ở đây không cần thiết.
4. Với nhiều bản live, có một file trong thư mục gốc của ổ đĩa có nhãn ISOLINUX.CFG. Nhãn này có thể cần được đặt lại tên thành SYSLINUX.CFG để bảo đảm cho mọi thứ làm việc tốt.
5. Rút ổ flash và thử khởi động nó trên hệ thống mục tiêu của bạn
Một số bản live của Linux sẽ có thư mục gốc \boot trong .ISO và thư mục \isolinux bên trong nó. Ví dụ, bạn sẽ cần phải chuyển các nội dung của \boot\isolinux vào thư mục gốc của ổ flash trước khi đặt lại tên các file và sau đó áp dụng SysLinux. Thứ tự của các sự kiện trên là rất quan trọng.
QEMU Linux
Một số bộ đọc có thể thân thiện với việc sử dụng máy ảo để chạy Linux trên một hệ điều hành khác – thường là cách thực hiện để kiểm tra bản Linux đã có bên trong Windows mà không tạo kịch bản dual-boot.
Thứ tương tự cũng có thể được thực hiện với phiên bản flash-drive của Linux, theo gói mô phỏng máy tính mã nguồn mở có tên QEMU.
QEMU mã nguồn mở cho phép bạn chạy Linux trong máy tính ảo trên một hệ điều hành khác |
Gói này đủ nhỏ thích hợp với hầu hết các ổ flash cùng với bất cứ phân phối nào mà bạn đang sử dụng và có thể được bắt đầu bằng cách thực thi một file batch đơn giản. Bạn còn có cả sự hỗ trợ kết nối theo bất cứ mạng nào đang chạy trên host. Đây là cách thực hiện điều đó.
1. Format ổ flash với FAT hoặc FAT32 (mục đích tương thích).
2. Copy file .ISO mà bạn muốn sử dụng vào thư mục gốc của ổ đĩa
3. Giải nén file thực thi QEMU vào thư mục có tên \QEMU.
4. Sử dụng lệnh dưới đây để chạy QEMU từ gốc của ổ đĩa (bạn có thể chỉnh vào một file batch):
.\qemu\qemu.exe -L .\qemu -cdrom
Có một số tùy chọn khác có thể được bỏ qua ở đây. Nếu chạy QEMU không có các khóa chuyển đổi dòng lệnh thì bạn sẽ thấy được một tập các tùy chọn có sẵn, từ đó có thể chọn tùy chọn nào theo nhu cầu của mình.
5. Chạy QEMU bên trong Windows. Máy được mô phỏng này sẽ xuất hiện trong Windows và bạn có thể hoàn toàn giải phóng con trỏ bằng cách sử dụng Ctrl+Alt key.
Lưu ý ở đây là bạn sẽ không thể xem hiệu suất nếu khởi động hệ thống mặc định theo nguyên bản ban đầu. QEMU có một driver Windows để cho phép một số hiệu ứng tăng hiệu suất.
Nếu bạn muốn tạo một lưu trữ liên tục cho ổ flash, có một số cách để thực hiện điều này. QEMU cho phép bạn đặt bất kỳ file nào như thực hiện với ổ đĩa cứng, chính vì vậy bạn chỉ cần tạo một file lớn trong ổ flash sẽ giữ dữ liệu người dùng của bạn, sử dụng tùy chọn -hd QEMU để đặt, format ổ đĩa trong live Linux session và lưu dữ liệu người dùng của bạn ở đó giữa các session.
Tùy chọn thứ hai có khác đôi chút so với tùy chọn ban đầu, ngoại trừ lưu dữ liệu trên ổ đĩa đó, bạn cài đặt Linux trên nó và sau đó thiết lập QEMU để khởi động image ổ đĩa cứng thay cho .OSI. Lưu ý rằng cách tốt nhất để thực hiện là chuẩn bị tất cả các file trên máy tính trước, sau đó copy image này và các file thực thi QEMU vào ổ flash.
Cuối cùng, những thành viên của PenDriveLinux đã tạo một gói để bạn có thể sử dụng, gói này gồm có QEMU và một file batch với một số tùy chọn chung. File batch này có thể tùy chỉnh với các tùy chọn dòng lệnh bạn muốn sử dụng, bên cạnh đó cũng có thể thay đổi sao cho hợp với những mô tả ở trên.
MokaFive
Vẫn còn một cách khác để chạy cài đặt Linux từ một ổ flash là thông qua MokaFive. Đây là một ứng dụng thương mại cho phép bạn đóng gói các máy ảo vào một ổ flash để phân phối lại trên mạng. MokaFive sử dụng Vmware để thực hiện mô phỏng máy tính, cách làm này thường tốt hơn QEMU và cũng cho phép một số kỹ thuật khóa phức tạp khác. Phiên bản cơ bản của MokaFive hoàn toàn được miễn phí (mặc dù không phải là mã nguồn mở) nhưng cũng làm việc rất tốt. Nó cho phép bạn có thể truy cập vào các thiết bị trên máy chủ như các máy quét và máy in.
MokaFive cho phép bạn tạo ổ flash khởi động có thể chạy trên các hệ điều hành mô phỏng |
MokaFive toolkit gồm có BareMetal player, đây là một công cụ cho phép bạn cài đặt MokaFive VM vào flash drive, khởi động từ nó và chạy một cách mặc định. Thiết bị phải có tối thiểu 2GB dung lượng để thực hiện công việc này. Lưu ý rằng do BareMetal player được bảo vệ để chống lại sự can thiệp nên chỉ có một cách duy nhất để đưa máy ảo vào trong là load trên giao diện của chính BareMetal player.