Dre4m Shell
Server IP : 127.0.0.2  /  Your IP : 18.191.27.94
Web Server : Apache/2.4.18 (Ubuntu)
System :
User : www-data ( )
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/os-probes/mounted/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/lib/os-probes/mounted/20microsoft
#!/bin/sh
# Detects all Microsoft OSes on a collection of partitions.

. /usr/share/os-prober/common.sh

partition="$1"
mpoint="$2"
type="$3"

# This script looks for legacy BIOS bootloaders only. Skip if running UEFI
if [ -d /sys/firmware/efi ] && [ ! -f /var/lib/partman/ignore_uefi ] && [ -z "$WINOSDATA" ]; then
	debug "Skipping legacy bootloaders on UEFI system"
	exit 1
fi

# Weed out stuff that doesn't apply to us
case "$type" in
	ntfs|ntfs-3g) debug "$1 is a NTFS partition" ;;
	vfat) debug "$1 is a FAT32 partition" ;;
	msdos) debug "$1 is a FAT16 partition" ;;
	fat) debug "$1 is a FAT partition (mounted by GRUB)" ;;
	fuse|fuseblk) debug "$1 is a FUSE partition" ;; # might be ntfs-3g
	*) debug "$1 is not a MS partition: exiting"; exit 1 ;;
esac

found=
# Vista (previously Longhorn)
if item_in_dir -q bootmgr "$2"; then
	# there might be different boot directories in different case as:
	# boot Boot BOOT
	for boot in $(item_in_dir boot "$2"); do
		bcd=$(item_in_dir bcd "$2/$boot")
		if [ -n "$bcd" ]; then
			if   grep -aqs "W.i.n.d.o.w.s. .1.0" "$2/$boot/$bcd"; then
				long="Windows 10 (loader)"
			elif grep -aqs "W.i.n.d.o.w.s. .8" "$2/$boot/$bcd"; then
				long="Windows 8 (loader)"
			elif grep -aqs "W.i.n.d.o.w.s. .7" "$2/$boot/$bcd"; then
				long="Windows 7 (loader)"
			elif grep -aqs "W.i.n.d.o.w.s. .V.i.s.t.a" "$2/$boot/$bcd"; then
				long="Windows Vista (loader)"
			elif grep -aqs "W.i.n.d.o.w.s. .S.e.r.v.e.r. .2.0.0.8. .R.2." "$2/$boot/$bcd"; then
				long="Windows Server 2008 R2 (loader)"
			elif grep -aqs "W.i.n.d.o.w.s. .S.e.r.v.e.r. .2.0.0.8." "$2/$boot/$bcd"; then
				long="Windows Server 2008 (loader)"
			elif grep -aqs "W.i.n.d.o.w.s. .R.e.c.o.v.e.r.y. .E.n.v.i.r.o.n.m.e.n.t" "$2/$boot/$bcd"; then
				long="Windows Recovery Environment (loader)"
			elif grep -aqs "W.i.n.d.o.w.s. .S.e.t.u.p" "$2/$boot/$bcd"; then
				long="Windows Recovery Environment (loader)"
			else
				long="Windows Vista (loader)"
			fi
			short=Windows

			found=true

			break
		fi
	done
fi

# 2000/XP/NT4.0
if [ -z "$found" ] && item_in_dir -q ntldr "$2" && item_in_dir -q ntdetect.com "$2"; then
	long="Windows NT/2000/XP"
	short=Windows
	ini=$(item_in_dir boot.ini "$2")
	if [ -n "$ini" ]; then
		multicount="$(grep -e "^multi" "$2/$ini" | wc -l)"
		scsicount="$(grep -e "^scsi" "$2/$ini" | wc -l)"
		msoscount="$(expr "${multicount}" + "${scsicount}")"
		if [ "$msoscount" -eq 1 ]; then
			# We need to remove a Carriage Return at the end of
			# the line...
			defaultmspart="$(grep -e "^default=" "$2/$ini" | cut -d '=' -f2 | tr -d '\r')"
			# Escape any backslashes in defaultmspart
			grepexp="^$(echo "$defaultmspart" | sed -e 's/\\/\\\\/')="
			# Colons not allowed; replace by spaces
			# Accented characters (non UTF-8) cause debconf to
			# hang, so we fall back to the default if the name
			# contains any weird characters.
			long="$(grep -e "$grepexp" "$2/$ini" | cut -d '"' -f2 | \
				tr ':' ' ' | LC_ALL=C grep -v '[^a-zA-Z0-9 &()/_-]')"
			if [ -z "$long" ]; then
				long="Windows NT/2000/XP"
			fi
		else
			long="Windows NT/2000/XP (loader)"
		fi

		found=true
	fi
fi

# MS-DOS
if [ -z "$found" ] && item_in_dir -q dos "$2"; then
	long="MS-DOS 5.x/6.x/Win3.1"
	short=MS-DOS

	found=true
fi

# 95/98/Me
if [ -z "$found" ] && item_in_dir -q windows "$2" &&
     item_in_dir -q win.com "$2"/"$(item_in_dir windows "$2")"; then
	long="Windows 95/98/Me"
	short=Windows9xMe

	found=true
fi


# Restrict to partitions containing the OS
if [ -n "$WINOSDATA" ]; then
    found=
    if [ -d "$2/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp" ]; then
        long=${long:-"Windows 8 (data)"}
        short=${short:-"Windows"}
        found=true
    elif [ -d "$2/ProgramData/Microsoft/Windows/Start Menu/Programs/Startup" ]; then
        long=${long:-"Windows 7 (data)"}
        short=${short:-"Windows"}
        found=true
    elif [ -d "$2/Documents and Settings/All Users/Start Menu/Programs/Startup" ]; then
        long=${long:-"Windows XP/Vista (data)"}
        short=${short:-"Windows"}
        found=true
    elif [ -d "$2/Winnt/Profiles/All Users/Start Menu/Programs/Startup" ]; then
        long=${long:-"Windows NT (data)"}
        short=${short:-"Windows"}
        found=true
    fi
fi

if [ -z "$found" ]; then
	exit 1
fi

label="$(count_next_label "$short")"
result "${partition}:${long}:${label}:chain"
exit 0

Anon7 - 2022
AnonSec Team