Đĩa cứng chỉ là một tệp khác (không phải là "tệp thông thường" nhưng "tệp thiết bị", nhưng vẫn là một tệp). Mở nó theo cách thông thường ...
int fdes = open("/dev/sda1", O_RDONLY);
if (fdes < 0)
err(1, "/dev/sda1");
... do more ...
Bạn sẽ nhận được các lỗi về quyền trừ khi bạn có quyền phù hợp. Lưu ý rằng "/dev/sda1"
chỉ là một ví dụ, nó là phân vùng đầu tiên trên đĩa sda
, đường dẫn chính xác sẽ phụ thuộc vào hệ thống của bạn. Bạn có thể liệt kê điểm lắp với lệnh mount
, và bạn có thể truy cập toàn bộ đĩa (thay vì chỉ phân vùng) sử dụng /dev/sda
, /dev/sdb
vv
Bạn cũng có thể mở nó như là một C++ fstream
hoặc C FILE
, nhưng tôi không đề nghị điều này. Bạn sẽ có thời gian tìm mã ví dụ tốt hơn và nhận trợ giúp trên diễn đàn nếu bạn sử dụng open
thay thế.
Nguồn
2011-09-02 21:37:44
'/ dev/sda1' sẽ là một phân vùng ... để truy cập ổ đĩa liệu bạn có thể muốn sử dụng'/dev/sda' –
1 cho "chỉ tập tin khác" và không rối tung với ' dd'. Hãy cảnh giác với các điều khoản, có thể bạn sẽ cần phải là thành viên của nhóm đĩa hoặc gốc (không phải là một ý tưởng tuyệt vời) để làm điều này. – Flexo
Điều này sẽ rất hữu ích. –