Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows

Thành Thạo Quản Lý Đĩa Khi Chuyển Từ Windows Sang Linux

Hôm nay, tôi muốn tách ra khỏi template gần đây của các hướng dẫn Windows-to-Linux, tập trung vào việc chỉ cho bạn cách cài đặt, cấu hình và sử dụng nhiều chương trình khác nhau, thường được thiết kế hoặc dự định chỉ cho Windows, dùng các framework như WINE. Chúng ta sẽ thảo luận chủ đề juicy của quản lý ổ đĩa và drive.

Bên ngoài ứng dụng, có data phải tính đến. Và data là quan trọng đối với mọi thứ. Việc trở nên phức tạp hơn khi người ta xem xét những khác biệt cơ bản giữa Windows và Linux. Cái trước dùng NTFS, và data được tổ chức trong drive (C:, D:, v.v.). Linux lưu trữ mọi thứ dưới một cây filesystem (root, /), và dùng các định dạng filesystem khác nhau (như ext4), mặc dù nó có thể xử lý NTFS. Vậy thì, chuyện gì xảy ra nếu bạn cố gắng chuyển đồ của bạn sang? Hướng dẫn này là gợi ý gọn gàng cho những người tìm kiếm trật tự, đơn giản và rõ ràng.

Đọc trước

Hướng dẫn này không thể sống cô lập. Có một số định luật vật lý cứng nhắc chúng ta phải tuân theo. Đầu tiên, nếu bạn không biết gì về quản lý disk và/hoặc drive, filesystem và những thứ đó, bài viết này không dành cho bạn thực sự. Bạn cần một nền tảng cơ bản về các nguyên tắc này. Hãy thực tế. Bài viết này dành cho nerds, dù là những người có ít kinh nghiệm thực tế trong Linux (chưa).

Điều đó nói, đây là một số bài viết của tôi bạn nên lướt trước khi đi sâu hơn:

GParted partitioning software tutorial

The ultimate Linux guide for Windows newbies

Giống nhau nhưng khác nhau

Được rồi, bây giờ chúng ta biết thuật ngữ và chi tiết kỹ thuật, hãy thảo luận một kịch bản. Giả sử bạn có một máy Windows với hai ổ đĩa vật lý và tổng cộng năm phân vùng ổ đĩa. Giả sử bố cục như sau:

  • Ổ C:\ - Windows và file hệ thống cốt lõi, program files, user data.
  • Ổ D:\ - Cài đặt game (bao gồm Steam).
  • Ổ E:\ - Data của người dùng (file, phim, nhạc, tài liệu, v.v.) KHÔNG lưu dưới My Documents và tương tự.
  • Ổ F:\ (trên ổ đĩa thứ hai) - Dùng cho backup; ở đây, user data được copy một lần mỗi tuần.
  • Ổ H:\ (trên ổ đĩa thứ hai) - Dùng cho thứ không quan trọng (download, video raw, v.v.).

Bây giờ, hãy giả sử chủ sở hữu máy tính với bố cục ổ đĩa sau quan tâm đến chuyển sang Linux. Vậy những gì họ làm như sau:

Họ phân vùng lại ổ đĩa - cụ thể, họ shrink ổ H:\ , và sau đó tạo một số phân vùng mới trong không gian trống (và giờ trống). Sau đó họ cài một bản phân phối Linux ở đây. Bây giờ, họ chạy hệ thống dual-boot, và khi họ bật máy, hoặc restart, họ thấy menu cho phép chọn có tiếp tục vào môi trường Linux hay Windows.

Thành Thạo Quản Lý Đĩa Khi Chuyển Từ Windows Sang Linux

Như bạn thấy, tôi đã vạch ra kịch bản này và các kịch bản tương tự trong các bài viết dual-boot khác nhau của tôi, như cái được link ở trên, cũng như hướng dẫn Windows 7 & Ubuntu và Windows 7 & CentOS. Điều này sẽ cho bạn một điểm tham chiếu tốt cho một cuộc phiêu lưu tương tự, cũng như cho phép bạn có cảm giác về những khác biệt ban đầu trong quản lý đĩa trong Linux.

Bây giờ, người dùng có một hệ thống với hai hệ điều hành. Tuy nhiên, có một vấn đề. Phần lớn data vẫn nằm trong Windows và/hoặc được lưu/giữ trên ổ Windows, được format với filesystem NTFS. Có một vài câu hỏi ở đây:

  • Người dùng có thể truy cập data Windows không?
  • Người dùng có thể sửa đổi data Windows không?
  • Người dùng có thể migrate data từ ổ Windows vào filesystem Linux native trên các phân vùng khác không?
  • Người dùng có thể chuyển đổi (nếu muốn) filesystem NTFS sang native Linux không?

Hãy trả lời những cái này, phải không!

  • Linux có thể đọc filesystem NTFS mà không có vấn đề lớn. Hầu hết các bản phân phối hỗ trợ điều này natively.
  • Tương tự, Linux có thể ghi vào filesystem NTFS. Tuy nhiên, không phải tất cả bản phân phối có khả năng này out of the box. Giải pháp cho vấn đề này là cài tiện ích NTFS-3g, cung cấp chức năng cần thiết. Ví dụ, trong các bản phân phối Red Hat như CentOS hoặc AlmaLinux hoặc Rocky Linux:

sudo dnf install ntfs-3g ntfsprogs

  • Người dùng có thể migrate data, tuy nhiên trong kịch pháp trên, có thể đơn giản không đủ chỗ trên phân vùng Linux mới tạo để chứa tất cả đồ Windows, bao gồm data, backup, và các mẩu thông tin khác.
  • Chuyển đổi filesystem là hoạt động rủi ro có thể dẫn đến mất data. Nó không bao giờ nên được làm nếu không có backup data hoàn chỉnh, có thể verify. Nhưng nói về vấn đề đó, nếu bạn có backup, bạn cũng có thể format phân vùng với filesystem native và copy data qua.

Sự mờ ám trong quản lý đĩa

Giải pháp cho sự khan hiếm không gian đĩa và/hoặc đường dẫn migrate data dễ dàng là trình bày data Windows bên trong hệ thống Linux, nhưng theo cách sẽ dễ phân biệt, cũng như cho phép backup data thực tế. Để giải thích ý tôi, xem xét sau:

Trong Linux, tất cả path resolve về một root (/). Ví dụ, /home/igor sẽ là mount point đến thư mục home của user tên "igor". Nhưng mapping vật lý của thư mục đó có thể ở bất cứ đâu. Nó có thể là phân vùng khác, ổ đĩa khác, thậm chí hệ thống khác (trên mạng). Ví dụ:

  • Root filesystem (/) là mount point cho /dev/sda1 (phân vùng đầu trên ổ đĩa đầu).
  • home/igor là thư mục và không phải mount point riêng. Data nằm trên /dev/sda1 (cùng ổ đĩa).
  • Thay vào đó, path /home/igor có thể resolve đến /dev/sda2 hoặc /dev/sdc7 hoặc thậm chí NFS, CIFS hoặc Samba shares.

Điều này có nghĩa là nếu người dùng mount ổ Windows, chúng sẽ được trình bày trong Linux như một phần của single root filesystem, và chúng không nhất thiết có thể phân biệt được từ các vị trí hoặc path khác. Lại một lần, ví dụ:

Hầu hết hệ thống Linux sẽ mount thiết bị removable, external hoặc non-Linux dưới /run/media hoặc /media. Vì vậy nếu bạn thấy hai thư mục dưới các vị trí này, bất kể tên như thế nào, bạn không nhất thiết có thể phân biệt giữa chúng. Một có thể là phân vùng NTFS internal Windows, và cái khác có thể là USB drive format FAT32.

Giải pháp, vậy

Để làm việc quanh vấn đề này, tôi dùng phương pháp sau:

  • Tôi tạo một thư mục top-level mới dưới root gọi là drives (/drives).
  • Bên trong, tôi tạo thư mục sẽ đóng vai trò mount points cho ổ Windows, với chữ cái làm identifier. Ví dụ, /drive/C sẽ được dùng như mount point cho ổ C:\, và /drive/E sẽ dùng như mount point cho ổ E:\, và cứ thế.
  • Tôi tạo quy tắc mount vĩnh viễn cho ổ Windows dưới /etc/fstab (sớm sẽ nói thêm). Điều này có nghĩa là khi hệ thống boot, ổ Windows sẽ được mount như thiết bị writable và trình bày như thư mục dưới vị trí top-level /drives.

Phương pháp này đảm bảo gì?

Có nhiều lợi ích hữu ích cho cách tiếp cận này:

  • Nó cho phép sự tách biệt rõ ràng và dễ thấy giữa path Linux-only hoặc pure Linux và path Windows.
  • Nó không trộn lẫn tất cả thiết bị/phân vùng non-Linux dưới thư mục generic.
  • Chạy script backup đảm bảo không phải mọi thứ được copy hoặc backup, mà chỉ những gì bạn cần. Nếu bạn làm full backup hệ thống Linux, và bạn có filesystem và drive khác được mount, bạn không nhất thiết muốn chúng được bao gồm trong backup, và bạn không muốn phải tính toán cho mọi path "unknown".

Đây là cách bạn có thể làm

Theo ví dụ trước, bước đầu tiên là tìm ra Linux "thấy" ổ cứng nội bộ như thế nào và nó xác định ổ Windows như thế nào. Lại một lần, bạn cần một chút chuyên môn ở đây. Bạn có thể dùng công cụ dòng lệnh như fdisk để xuất danh sách thiết bị và phân vùng của chúng. Giả sử như sau:

  • /dev/sda1 - Ổ C:\
  • /dev/sda2 - Ổ D:\
  • /dev/sda3 - Ổ E:\
  • /dev/sdb1 - Ổ F:\
  • /dev/sdb2 - Ổ H:\
  • /dev/sdb3 - Linux root (/)
  • /dev/sdb4 - Linux swap
  • /dev/sdb5 - Linux home (/home)

Tạo /drives top-level path và thư mục bên dưới (cho ổ Windows chỉ):

sudo mkdir /drives
sudo mkdir /drives/C
sudo mkdir /drives/D
...

Bây giờ, với quyền root hoặc sudo, tạo backup của file /etc/fstab và sau đó chỉnh sửa nó trong text editor (như nano):

sudo cp /etc/fstab /home/"your user"/fstab-backup
sudo nano /etc/fstab

Trong text editor, thêm mount points cho ổ Windows của bạn.

/dev/sda1 /drives/C ntfs-3g defaults,locale=utf8 0 0
/dev/sda2 /drives/D ntfs-3g defaults,locale=utf8 0 0
...

Chúng ta có gì ở đây?

  • Chúng ta chỉ định thiết bị/phân vùng thực tế chúng ta muốn mount.
  • Chúng ta chỉ định mount point.
  • Chúng ta chỉ định filesystem - trong trường hợp này, chúng ta dùng filesystem driver ntfs-3g (cho chúng ta read/write access).
  • Chúng ta chỉ định mount options - giữ đơn giản với defaults, cộng UTF8 encoding.
  • Chúng ta đặt hai trường cuối (dump và fsck) thành 0, để chúng bị loại khỏi các hoạt động Linux cổ điển.

Đây là ví dụ thực tế từ một trong hệ thống của tôi:

# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/nvme0n1p5 during installation
# /boot/efi was on /dev/nvme0n1p1 during installation

UUID=7f4087e7-e572-44fd-a4a1-7489099937a0 / ext4 errors=remount-ro 0 1
UUID=C05A-951D /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/nvme0n1p3 /drives/C ntfs-3g defaults,locale=utf8 0 0

Ba mục không comment đầu tiên là mount entry cho filesystem Linux, bao gồm root (/), /boot/efi, bắt buộc trên hệ thống UEFI (nó cũng cho thấy filesystem VFAT), và swapfile thay vì swap partition.

Mục thứ tư là thêm ổ Windows. Lưu ý rằng device identifier không phải /dev/sdaXY mà là /dev/nvmeXnYp3. Lý do là hệ thống có ổ cứng NVMe, và Linux nhận diện nó khác với thiết bị IDE/SATA/SCSI. Nhưng cho mọi mục đích thực tế, ký hiệu là giống nhau.

Chúng ta có bus NVMe đầu tiên (0), device đầu tiên (1), phân vùng thứ ba (3). Lại một lần, vui lòng tham khảo hướng dẫn quản lý ổ cứng của tôi trước đó, cũng như tutorial GRUB, vì ký hiệu cho thiết bị và phân vùng khác nhau. Và vậy, trong ví dụ trên, chúng ta mount phân vùng Windows của mình, thực tế là phân vùng thứ ba trên ổ NVMe, dưới /drives/C.

Bạn không cần reboot để thấy hiệu ứng, chỉ cần remount mọi thứ:

sudo mount -a

Bây giờ, ổ Windows của bạn sẽ được mount đến các path tương ứng, và bạn có thể thấy data. Bước tiếp theo là làm cho data đã mount dễ dùng và truy cập hơn.

File manager & ổ Windows

Nếu bạn muốn dùng data từ GUI (không phải command line), bạn có thể làm thủ thuật sau:

  • Tạo symbolic link trong thư mục home của bạn đến các ổ đã mount.
  • Cụ thể hơn, symbolic link mỗi ổ (chữ cái) đến một thư mục có identifier có nghĩa, như tên ổ Windows.

ln -s /drives/C ~/Windows

Lệnh trên sẽ tạo symbolic link trong thư mục home của bạn. Windows sẽ map đến /drives/C, là mount point đến ổ C:\. Vì vậy khi bạn nhấp vào thư mục Windows trong file manager Linux của bạn, bạn sẽ thấy nội dung ổ Windows.

Thành Thạo Quản Lý Đĩa Khi Chuyển Từ Windows Sang Linux

Bây giờ, bạn có thể tiến một bước xa hơn và tạo shortcut đến các ổ này. Ví dụ, trong môi trường desktop Plasma, bạn có thể thêm shortcut vào sidebar, để Windows sẽ map đến /drives/C, Games sẽ map đến /drives/D, Data sẽ map đến /drives/E, và cứ thế. Bước tiếp theo của bạn là có thể thêm backup task vào luồng, nhưng đó là chủ đề cho hướng dẫn khác.

Kết luận

Hướng dẫn của tôi không phải holy grail của quản lý data. Xa lắm. Nhưng nó cung cấp gợi ý thanh lịch cho các vấn đề phổ biến mọi người có thể gặp khi chuyển từ Windows sang Linux. Nó cung cấp cách trình bày data Windows theo cách dễ thấy, trực quan. Nó không bao gồm bất kỳ hoạt động phá hủy nào. Nó cho phép backup tiện lợi và tách biệt data. Và nó cung cấp cho người quen với workflow Windows để từ từ điều chỉnh với môi trường mới mà không hy sinh các manh mối quen thuộc hoặc quy trình làm việc đã thiết lập.

Với ổ Windows-only được mount ở path của riêng chúng, symbolic links để cho bạn truy cập tiện lợi qua công cụ GUI, và mapping logic, bạn bây giờ nên có một nền tảng tốt, vững chắc cho việc migrate của bạn. Bước tiếp theo là đảm bảo data quan trọng của bạn được backup. Vì data không có backup chỉ là bi kịch chờ xảy ra. Chúng ta sẽ cover điều đó, cũng như nhiều mẹo thực tế hàng ngày khác trong các bài viết tiếp theo. Cho đến nay, suy nghĩ một chút về lược đồ data tôi vạch ra ở trên. Và hãy tiếp tục theo dõi các hướng dẫn thiết lập chương trình bổ sung. Hẹn sớm gặp lại.

Chúc vui.