Skip to main content

Share Partitions Between Linux and Windows

Disclaimer: This document is provided "as is" without warranty. Use at your own risk. In no event shall I be liable for any damage resulting from the use of this work.

So you have Linux and Windows installed on the same machine. What is the best way to access and transfer files between the OSs? That is, how do you make the same filesystems and files accessible when you are running either OS?

There are some considerations to note:

Linux supports Windows types of partitions (e.g. FAT, FAT32, etc), but
Windows does not recognize Linux types of partitions (e.g. ext2, ext3, etc)
A common solution is to mount the Windows partitions (e.g. C:) in Linux. However, this can be very dangerous. You could inadvertently damage critical system files for Windows while logged into Linux. If you mount the Windows partitions read-only, then access only works in one direction; you can see Windows partitions in Linux, but you have no way of transferring files from Linux to Windows.

In my opinion, sharing key partitions or filesystems is not a clean solution. The OSs should know as little as possible about each other. With the dual-boot setup I use, Windows only knows about Linux to the extent that I made a 1-line edit to C:\boot.ini and copied a 512-byte GRUB boot loader file to C:\. Other than that, Windows can't see any of the Linux partitions and Linux can't see the C: partition.

Recommended Solution
I recommend creating a separate partition that is accessible to both Windows and Linux. I'll refer to this as a "share" partition. It must be of type FAT32 (same as vfat) or FAT to be accessible and writable by both OSs (NTFS is not yet an option as Linux does not support writing to NTFS partitions). To make the share partition visible and writable by both OSs, do the following:

Create a FAT32 partition that you want to be visible by both OSs. I don't explain how to do that here. I believe you can create the FAT32 partition in Windows using Start->Run->Administrative Tools->Computer Management->Disk Management. Many Linux installation programs (e.g. Red Hat) allow you to create FAT32 partitions during the installation process.
For Windows, you don't have to do anything to make the FAT32 partition accessible. The OS will automatically detect it and assign it a drive letter (e.g. E:)
For Linux, do the following steps to make the FAT32 partition accessible:
Create the directory that serves as the mount point (e.g. mkdir /osshare). The mount point is the location in the filesystem where you want this FAT32 partition to appear.
Put an entry in the /etc/fstab file for the share partition. Be very careful in editing this file, as it's used at system startup! For an example, check out the /osshare entry in my /etc/fstab file. The umask option determines the permissions for all filesystems on the partition.
Upon your next reboot into Linux, the share partition should get mounted automatically. If you wish to mount the FAT32 partition immediately, use the mount command, e.g.: mount /osshare
Once you've set up your share partition, you can use it for transferring files between the OSs. For example, I found this invaluable for downloading RPMs while logged into Windows before I managed to get the Winmodem working for Linux.

Things to keep in mind for your share partition:

It's of type FAT32, so Linux functionality such as symbolic links won't work on it

Comments

Popular posts from this blog

ESP32-C6 Wi-Fi Logger with Browser GPS + Heat Map Dashboard

This project is an ESP-IDF firmware for the Seeed Studio XIAO ESP32-C6 that turns the board into a self-hosted, secure Wi-Fi scanning logger. It creates its own access point, serves a responsive HTTPS web UI, logs nearby Wi-Fi access points, optionally tags rows with GPS coordinates (provided by the client browser), and exposes battery status from the on-board LiPo input. The end result is a pocket Wi-Fi “survey” tool: scan, track, export logs as CSV, and generate a heat map view to visualize RSSI vs location. Project overview and feature set: :contentReference[oaicite:1]{index=1} What it does AP + Station mode so the device can serve the dashboard while scanning nearby Wi-Fi networks. HTTPS web interface using a bundled certificate/key for local secure access. Single scan and continuous tracking modes. CSV export for analysis and archiving. Persistent logging to SPIFFS at /spiffs/logs.csv . Battery monitoring via ADC with voltage/percentage/status sh...

learn how to sniff wireless passwords with pirni

The thing about the iPod Touch and the iPhone is that they are great portable hacking devices. To the naked eye the iPod Touch/iPhone looks like nothing more than an ordinary mp3 player/cellphone however that is just an understatement to its full potential. Once your Ipod Touch/iPhone is jailbroken you have access to your whole file system meaning that applications generally associated with laptop/desktop hacking can be ported and used on the iPod Touch/iPhone. This opens up a whole lot of possibilities for network sniffing, port scanning and much much more! In this tutorial we are going to take a look at one of these programs called Pirni. What is Pirni? Pirni is an application that was ported to The Ipod Touch/iPhone to be used as a native network sniffer. Pirni is so useful because it gets past the iPod Touch’s/iPhone’s wifi hardware limitation of not being able to be set into promiscious mode (a mode that allows a network device to intercept and read each network packet that arrive...

how to run a GUI application throw SSH using X11

soo all we need is first to install the ssh server on the server - machine we like to control so - 1. sudo su 2. apt-get install openssh-server . . now back to our machine using the ssh : 1. ssh -V -X username@the-server-ip 2. enter the password and that is it now we can run any GUI application that install on the server using his CPU cycles yahhhh great !! for example lets run WireShark : 3. gksudo wireshark & now all that if we runing tow Linux machines !! but what windows users that like to run a linux app??! !! soo we need it tow applications 1. putty you can get it here : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 2.Xming you can get it here : http://sourceforge.net/projects/xming/ ok so first we need to install Xming , and after that we going to use butty but we need to cheak Enable X11 forwarding in connection -- > SSH -- > X11 >> Enable x11 forwarding . and that is it free to run any linux application on windows using SSH . have fun ...