One of the methods using Linux is to use fsck.msdos command which is found majorly in most of the Linux Distributions. While you've not mentioned that is there any error shown by Windows and, it is not mentioned too whether it is possible to boot into Safe Mode by pressing and holding Shift and tapping F8 repeatedly. Based on the dearth of information here, I advise booting into Linux, open the Terminal, and type:
sudo fsck.msdos /dev/XYZ
where XYZ is the partition where Windows is installed(say sda1).
There are many parameters available which can be accessed by typing fsck.msdos -h
but the basic command should be able to correct your Windows.
If that went well, you will want to check whether Linux is able to detect Windows loader now or not. Besides, you need to generate a new GRUB configuration file too. I'm assuming the Linux you're booted into is running Grub 2.0. To Probe the Boot Loader, type the command:
sudo os-probe
, it shall give you an output like this:
/dev/sda1:Windows 7 (loader):Windows:chain
If you receive any such output, you can go ahead for building new Grub configuration file. In Terminal, type:
sudo grub-mkconfig -o /boot/grub/grub.cfg
, if your grub.cfg is at some other location then replace the path in the command with your file location.
- Type
sudo grub-install /dev/sda
where sda is my primary HDD having Windows and Linux installed.
Reboot, and choose Windows in Grub Menu. it should boot. If it doesn't we can try other methods but your question demands only Linux-specific solution.