Windows thường được biết đến trên máy tính xách tay, PC và một số điện thoại. Nhưng sẽ thế nào nếu bạn có thể chạy nó ngay trên cổ tay mình? Điều này nghe có vẻ phi lý nhưng hoàn toàn khả thi. Mới đây, một nhà phát triển đã cài đặt thành công Windows Pre-installation Edition (Windows PE) trên một chiếc Google Pixel Watch 3, chỉ đơn giản vì họ có thể làm được.
Điều kỳ diệu này trở thành hiện thực nhờ vào Qualcomm bootloader, hay còn gọi là XBL (eXtensible Bootloader), được sử dụng trên các chip Snapdragon, đã triển khai UEFI (Unified Extensible Firmware Interface). Trong quá trình khởi động trên các chip Snapdragon hiện đại dùng trong thiết bị Android, UEFI sẽ ngay lập tức chuyển quyền kiểm soát sang Aboot, hay Android Bootloader. Về lý thuyết, bạn có thể can thiệp vào quá trình khởi động này, trỏ đến các tệp EFI của riêng mình (tệp thực thi cho UEFI), và khởi chạy một hệ điều hành tùy chỉnh, chẳng hạn như Windows.
Dự án đáng kinh ngạc này được thực hiện bởi nhà phát triển gus33000, người trước đây đã có kinh nghiệm chuyển đổi Windows sang Microsoft Surface Duo. Đây là một thành tựu điên rồ, nó hoạt động, và chắc chắn bạn không nên tự mình thử làm điều này.
Điều Kỳ Diệu Mang Tên Windows trên Nền tảng ARM
Các bước cần thực hiện để biến điều này thành hiện thực là vô cùng phức tạp. Google Pixel Watch 3 được trang bị bốn nhân Cortex-A53, một kiến trúc chip đã có từ tháng 10 năm 2012 và sẽ không hỗ trợ các hoạt động nguyên tử (atomic operations). Tuy nhiên, nó vẫn đủ để chạy các tác vụ cơ bản, đó là lý do tại sao mục tiêu là cài đặt Windows PE lên đó.
Trở ngại đầu tiên thực tế là việc kích hoạt chế độ UEFI ngay từ đầu. Hóa ra, UEFI không hỗ trợ độ phân giải màn hình thấp như vậy, và họ cần phải sửa đổi UEFI để hỗ trợ nó. Tiếp theo là các bảng ACPI. Bảng ACPI là các tệp mô tả bố cục phần cứng của thiết bị và cách các thành phần như bộ hẹn giờ, bộ điều khiển ngắt và cổng nối tiếp được sắp xếp. Windows cần các bảng này để biết cách giao tiếp với phần cứng, và dữ liệu này đã được lấy từ cây thiết bị (device tree) của chip Snapdragon 865.
Những Thách Thức và Giải Pháp Kỹ Thuật Đáng Kinh Ngạc
Với tất cả những điều đó được hoàn thành, Windows PE (dựa trên Arm) đã có thể khởi động trên Google Pixel Watch 3. Để khắc phục các hạn chế về lưu trữ (Pixel Watch 3 chỉ có 32GB bộ nhớ), cần phải tận dụng kiến trúc dual-slot của nó để có thể chạy. Các thiết bị Android sử dụng hai phân vùng cho các thành phần hệ thống: slot A và slot B. Điều này có nghĩa là một bản cập nhật có thể được áp dụng trong slot còn lại, và khi sẵn sàng, thiết bị có thể khởi động vào hệ thống mới đã được cập nhật.
Hệ thống này tiện lợi vì nó cho phép áp dụng các bản cập nhật trong khi thiết bị vẫn đang chạy, và cũng có nghĩa là nếu xảy ra lỗi, hệ thống có thể khởi động lại vào hệ thống cũ, đang hoạt động và thử lại. Trong trường hợp này, gus33000 đã ghi đè slot “modem_a” bằng các tệp khởi động tùy chỉnh của mình và một phiên bản Windows PE đã được cắt giảm, vừa đủ với không gian nhỏ bé 150MB.
Google Pixel Watch 3 hiển thị giao diện Windows PE trên nền tảng ARM, minh chứng thành công của dự án UEFI
Kể từ đó, gus33000 cũng đã trình diễn cách họ có thể gắn Google Pixel Watch 3 như một thiết bị lưu trữ khối lượng lớn UEFI (UEFI mass storage device). Điều này có nghĩa là bạn có thể sửa đổi nội dung tệp từ bên trong Windows mà không cần quyền root trên đồng hồ. Mặc dù ban đầu nó chỉ là một trò đùa Cá tháng Tư, nhưng đây thực sự là một dự án thú vị và đáng để bạn khám phá trang GitHub chính thức của dự án.
Đừng Thử Tại Nhà: Ý Nghĩa Thực Sự Của Dự Án
Bạn có nên tự mình thử điều này không? Tuyệt đối là không, trừ khi bạn sẵn sàng chấp nhận rủi ro làm hỏng thiết bị và làm mất hiệu lực mọi loại bảo hành có thể tưởng tượng được. Ngay cả khi đó, kết quả có thể chỉ là một cửa sổ dòng lệnh trên một màn hình tí hon. Nhưng từ góc độ thuần túy “wow, thật tuyệt vời”, đây là một cái nhìn hấp dẫn về những gì có thể xảy ra khi bạn đào sâu vào cấu tạo bên trong của một thiết bị và phá vỡ các quy tắc về việc một hệ điều hành “đáng lẽ” phải chạy trên nền tảng nào.
Dự án Windows trên Google Pixel Watch 3 của gus33000 không chỉ là một minh chứng cho khả năng kỹ thuật cá nhân xuất sắc mà còn là lời khẳng định về tiềm năng vô hạn trong việc tùy biến và khám phá các hệ thống nhúng. Mặc dù không mang lại giá trị ứng dụng thực tiễn cho người dùng phổ thông, nó mở ra những góc nhìn mới về sự linh hoạt của các kiến trúc phần cứng và phần mềm hiện đại. Hãy ghé thăm trang GitHub của dự án để tìm hiểu sâu hơn về quy trình đầy cảm hứng này.