Tôi đã thực sự suy nghĩ rất nhiều về tiêu đề hay nhất, mô tả nhất và hữu ích nhất cho chủ đề ngày hôm nay, và tôi đã nghĩ ra điều này. Tóm lại, máy tính xách tay thử nghiệm Lenovo G50 của tôi, chạy thiết lập tám lần khởi động với Windows và các bản phân phối Linux khác nhau, gần đây đã có NVRAM ở chế độ chỉ đọc. Tôi không thể thay đổi bất kỳ cài đặt UEFI nào và do đó, tôi cũng không thể khởi động từ phương tiện bên ngoài và cài đặt bất kỳ hệ thống mới nào.
Tuy nhiên, tôi vẫn muốn bằng cách nào đó có thể thực hiện các thay đổi đối với thiết lập hiện tại, vì vậy tôi đã dành một chút thời gian để suy nghĩ, có cách nào khác không? Có, có! Những gì tôi sẽ chỉ cho bạn hôm nay là một thủ thuật hơi nguy hiểm (thông minh về dữ liệu) cho phép tôi cài đặt các hệ thống mới bất chấp giới hạn rõ ràng về phần cứng mà tôi đang gặp phải. Theo tôi.
Truy cập đĩa thô VirtualBox
Trước khi chúng ta bắt đầu, hãy để tôi nghiêm khắc cảnh báo bạn:
Nội dung tôi sẽ thảo luận hôm nay đòi hỏi kiến thức chuyên môn và sự tự tin khi làm việc với ảo hóa và truy cập đĩa thô. Đó là một tập hợp các hoạt động rất phức tạp và nguy hiểm có thể dẫn đến mất dữ liệu nghiêm trọng và nỗi đau tinh thần to lớn. Nếu bạn làm theo hướng dẫn của tôi vì bất kỳ lý do gì, bạn có thể kết thúc với một hệ thống hoàn toàn bị hỏng và mất thông tin cá nhân quý giá. Bây giờ, tiến hành một cách thận trọng.
Bây giờ, khi bạn đã sao lưu dữ liệu và hệ thống của mình được chụp ảnh, bạn có thể bắt đầu xem xét thử nghiệm điều này. Vì vậy, đây là cách nó hoạt động:VirtualBox cho phép bạn gắn toàn bộ đĩa hoặc phân vùng cụ thể dưới dạng đĩa ảo, do đó có cụm từ truy cập thô. Thay vì tạo một bộ chứa tệp sẽ là đĩa ảo, bạn thực sự sử dụng phần cứng vật lý trực tiếp.
Và vì vậy, ý tưởng trở thành thế này:Tôi có thể tạo một máy ảo, sử dụng tính năng truy cập đĩa thô, khởi động từ ISO, cài đặt hệ điều hành có liên quan vào một phân vùng vật lý, bỏ qua thiết lập bộ nạp khởi động, sau đó đi vào phiên bản vật lý của hệ điều hành kiểm soát trình tự khởi động (trong trường hợp này là openSUSE) và cập nhật GRUB ở đó.
Tạo đĩa thô
Lệnh sau sẽ làm điều kỳ diệu cho bạn:
VBoxManage lệnh nội bộ createrawvmdk -filename file.vmdk -rawdisk /dev/sdX -partitions Y,Z -relative
Chúng ta có gì ở đây? Chúng tôi tạo một ổ đĩa, ở một nơi nào đó, có thể nằm trong thư mục chính của bạn hoặc thư mục chuyên dụng nơi bạn lưu giữ tất cả các máy ảo của mình. Bạn chỉ định đĩa thô bạn muốn sử dụng (trong trường hợp của tôi là/dev/sda) và các phân vùng bạn muốn sử dụng. Tôi quyết định chỉ chọn một (/dev/sda8, lưu trữ CentOS 7.2) và cũng sử dụng cờ tương đối, chỉ cho phép ghi quyền truy cập vào phân vùng cụ thể. Điều này sẽ hạn chế mức độ thiệt hại mà bạn có thể gây ra.
VBoxManage internalcommands createrawvmdk -filename test.vmdk -rawdisk /dev/sda -partitions 8 -relative
VBoxManage internalcommands createrawvmdk -filename /home/roger/test.vmdk -rawdisk /dev/sda -partitions 8 -relative
Tệp VMDK truy cập đĩa máy chủ RAW /home/roger/test.vmdk đã được tạo thành công.
Bạn nên thực hiện lệnh này dưới dạng sudo hoặc root. Bạn cũng nên khởi động VirtualBox theo cách tương tự (bất kể quyền và quyền sở hữu tệp của bạn đối với vmdk), vì giống như thao tác gắn kết, bạn cần có một số đặc quyền nhất định để lấy thiết bị.
Lưu ý dung lượng lưu trữ:đĩa 1TB, mặc dù phân vùng Kubuntu chỉ có 100 GB. Điều này là do chúng tôi đang sử dụng quyền truy cập đĩa thô.
Nếu bạn thử mà không có sudo hoặc root, bạn sẽ gặp phải lỗi xấu xí và không mấy hữu ích này:
Mã kết quả:VBOX_E_FILE_ERROR (0x80BB0004)
Thành phần:MediumWrap
Giao diện:IMedium {4afe423b-43e0-e9d0-82e8-ceb307940dda}
Callee:IVirtualBox {0169423f-46b4-cde9-91af-1e9d5b6cd945}
Callee RC:VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
Các tính năng của UEFI
Có nhiều hơn cho nó. Điều phức tạp hơn nữa là tôi có một hệ thống UEFI với bố cục đĩa GPT. Điều này có nghĩa là bạn sẽ phải sử dụng bộ điều khiển SATA cho đĩa và cũng gắn ISO theo cách tương tự. Hơn nữa, bạn sẽ cần chỉ định EFI trong cài đặt máy ảo. Khi tôi nói bạn, tôi có nghĩa là tôi, bởi vì bạn KHÔNG nên làm điều này.
Thử nghiệm
Thật vậy, tôi đã có thể khởi động một máy ảo theo cách này một cách dễ dàng. Bạn có thể thấy toàn bộ cấu trúc đĩa, không có cách nào khác. Và bây giờ, vấn đề trở thành cài đặt đơn giản và tập trung mạnh mẽ để không có gì bị hỏng hoặc hỏng. Nhưng nó cung cấp một cách để đặt thông tin mới vào một phân vùng.
Về mặt kỹ thuật, bạn cũng có thể khởi động máy ảo, sau đó sao chép dữ liệu từ phương tiện trực tiếp được mở rộng và gắn vào đĩa cứng. Bạn có thể sử dụng dd, nhưng chúng ta đang thực sự đi vào lĩnh vực điên rồ và thú vị.
Đây là những gì chúng tôi gọi là Inception.
Kết luận
Hãy coi quyền truy cập thô là vũ khí chiến lược của bạn. Bạn không bao giờ muốn sử dụng chúng, nhưng bạn được an ủi bởi thực tế là chúng tồn tại và bạn có thể dựa vào chúng nếu cần, cho đến ngày mưa. Thay vào đó, tôi tin rằng các bản nâng cấp in-vivo hữu cơ sẽ đủ thú vị và sau đó tôi có một vài máy thử nghiệm cũ hơn khác sẽ cung cấp giải trí cần thiết trong quá trình chạy thử bản phân phối của chúng tôi.
Nếu bạn nghĩ về điều này, luôn luôn có một cách. Nhưng tôi muốn tìm một giải pháp hòa bình hơn, nghĩa là cố gắng làm cho NVRAM có thể ghi trở lại mà không làm hỏng máy tính xách tay hoặc mạo hiểm mọi thứ trên đĩa. Vì vậy, nếu bạn thực sự, thực sự, thực sự phải, truy cập đĩa thô thông qua ảo hóa sẽ cung cấp một giải pháp thay thế. Bây giờ, chúng tôi không bao giờ sử dụng nó. Bảo trọng.
Chúc mừng.